脚手架的基本实现
1.首先初始化文件:yarn init ,生成一个package.json的文件,JSON文件中指定cli.js的入口文件添加"bin":"cli.js";2.新建一个cli.js 的文件作为cli(脚手架)的文件入口同时在里面写逻辑业务,这个跟以往的js不一样的是脚手架(cli)的应用必须要有这样的文件头 #!/usr/bin/env node (必须条件) node CLI 应用入口文件必须有这样的文件头3. 如果是Linux 或者macOS 系统下还需要修改此文件的读写权限 755 其通过 chmod 755 cli.js 实现4. yarn link 链接全局 然后在输入文件名 查看控制台是否输出// 脚手架的工作原理// 1.通过命令交互询问用户问题//2.根据用户回答生成文件// 发起用户询问 可以用inquirer模块const inquirer= require('inquirer');inquirer.prompt([{type:'input',name:'name',message:'Project name?'}]).then(answer=>{//目标目录const tmplDirt =path.join(__dirname,'templates');//模板目录const destDirt =process.cwd();//将目标目录转换成模板目录fs.readdir(tmplDir,(err,files)=>{if(err) throw errfiles.forEach(file=>{//通过模板引擎渲染文件ejs.readerFile(path.join(tmplDir,file),anwsers,(err,result)=>{if(err) throw err//将结果写入目标路劲fs.writeFileSync(path.join(destDir,file),result)})})})})
