脚手架工作过程
1.通过命令行交互询问用户问题
2.根据用户回答的结果生成文件
node 命令行
js文件中加入 #!/usr/bin/env node
用来指定用node执行脚本文件
举个例子
1.新建文件夹,切换到当前文件夹下
2.npm init 初始化一个package.json
3.在package.json中添加 “bin”: “mycli.js”,
{
"name": "joy-cli",
"version": "1.0.0",
"description": "this is a node-cli project",
"main": "index.js",
"bin": "mycli.js",
"author": "joy",
"license": "MIT"
}
4.根目录创建mycli.js
#!/usr/bin/env node
console.log('my cli is run...');
注意:如果是linux或者macos系统,需要修改此文件的读写权限 为755
chmod 755 mycli.js
5.命令行中 执行yarn link,
将package.json初始化的 joy-cli 作为全局命令使用
6.运行命令 joy-cli
命令行中输出
my cli is run...
到这里,我们自定义的命令已经正常执行了。
如何通过命令行来与用户的输入进行交互
inquirer.js为命令行提供交互
yarn add inquirer
利用inquirer改写我们的mycli.js文件
#!/usr/bin/env node
console.log('my cli is run...');
const inquirer = require('inquirer')
inquirer.prompt([
{
type: 'input',
name: 'name',
message: 'Project name?'
}
])
.then(anwsers => {
console.log(anwsers)
})
再次执行joy-cli
my cli is run...
? Project name? test
{ name: 'test' }
执行后
发现命令行可以接受用户输入的内容,然后输出相应的内容
第一个脚手架开发到这里就算完成啦,后续可以根据功能需求在inquirer.prompt的.then中写入自己的功能代码了