小型前端脚手架工具plop的简单使用

本文介绍如何利用Plop工具简化前端项目中重复文件的创建过程,包括Plop的安装、配置及如何通过命令行生成带有动态内容的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我之前的另一篇文章前端工程化 通过yeoman-generator将文件加载到本地中说到了如何通过yeoman将文件加载到本地,但实际上使用plop工具也可以

首先要将plop安装到全局环境

npm i plop -g

再将plop安装到当前项目中

npm i plop -D

然后要在项目根目录中新建一个plopfile.js文件,用于编写在命令行向用户提出问题,并根据用户输入的内容来进行各种操作,是plop的入口文件,需要导出一个函数,该函数接收一个plop对象做为参数

这里和使用yeomen一样先创建一个plop-temp文件夹来存放模板文件

module.exports = plop=>{
    plop.setGenerator('wxfile',{ // 这里的wxfile是一个自己设定的名字,在执行命令行的时候会用到
        description:'create the repeat wxfile', // 这里是对这个plop的功能描述
        prompts:[{
            type:'input', // 问题的类型
            name:'fileName', // 问题对应得到答案的变量名,可以在actions中使用该变量
            message:'your fileName is', // 在命令行中的问题
            default:'page' // 问题的默认答案
        }],
        actions:[{
            type:'add', // 操作类型,这里是添加文件
            path:'{{fileName}}.js', // 添加的文件的路径
            templateFile:'plop-temp/temp.js' // 模板文件的路径
        }]
    })
}

目录如下
在这里插入图片描述
在temp.js中随便写入点东西

let data = 1

在命令行执行plop wxfile
在这里插入图片描述
输入test,在根目录生成了一个test.js文件,打开test.js文件,里面的内容和temp.js的内容是一样的

如果我们要将命令行填入的内容写到文件里,可以通过在文件内写入{{}},{{}}内写入对应问题的变量就可以了,比如我们在temp.js里写入

let title = "{{fileName}}"

执行plop输入test后,test.js的内容就会变成

let title = "test"

同时进行多个操作


如果要进行多个操作,只要在actions数组后面添加新的成员就可以了

module.exports = plop=>{
    plop.setGenerator('wxfile',{ // 这里的wxfile是一个自己设定的名字,在执行命令行的时候会用到
        description:'create the repeat wxfile', // 这里是对这个plop的功能描述
        prompts:[{
            type:'input', // 问题的类型
            name:'fileName', // 问题对应得到答案的变量名,可以在actions中使用该变量
            message:'your fileName is', // 在命令行中的问题
            default:'page' // 问题的默认答案
        }],
        actions:[{
            type:'add', // 操作类型,这里是添加文件
            path:'{{fileName}}1.js', // 添加的文件的路径
            templateFile:'plop-temp/temp.js' // 模板文件的路径
        },{
            type:'add',
            path:'{{fileName}}2.js',
            templateFile:'plop-temp/temp.js'
        },]
    })
}

执行plop wxfile,输入test,发现多了两个文件,test1文件和test2文件,文件的内容都是一样的,因为使用了同一个模板

将文件放入新生成的文件夹


如果要将生成的文件放入一个新建的文件夹,只要在放入的路径写入一个没有的文件夹名称,就会先生成一个新的文件夹,再将生成的文件放入

module.exports = plop=>{
    plop.setGenerator('wxfile',{ // 这里的wxfile是一个自己设定的名字,在执行命令行的时候会用到
        description:'create the repeat wxfile', // 这里是对这个plop的功能描述
        prompts:[{
            type:'input', // 问题的类型
            name:'fileName', // 问题对应得到答案的变量名,可以在actions中使用该变量
            message:'your fileName is', // 在命令行中的问题
            default:'page' // 问题的默认答案
        }],
        actions:[{
            type:'add', // 操作类型,这里是添加文件
            path:'folder/{{fileName}}.js', // 添加的文件的路径
            templateFile:'plop-temp/temp.js' // 模板文件的路径
        }]
    })
}

这里folder本来是没有的,在执行命令后就会先新建这个文件夹再将生成的文件放入

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值