package.json
中的 bin
字段
前端项目还是 node
项目,一般都会用 npm
做包管理工具,而 package.json
是其相关的配置信息。
对 node
项目而言,模块导出入口文件由 package.json
的 main
字段指定,而如果是要安装到命令行
的工具,则是由 package.json
的 bin
字段指定。
配置单个命令
与包名同名
{
"name": "pro",
"bin": "bin/pro.js"
}
这样安装的命令名称就是 pro
。
自定义命令名称(与包名不同名)
{
"name": "pro-cli",
"bin": {
"pro": "bin/pro.js"
}
}
这样安装的命令名称也是 pro
。
配置多个命令
{
"name": "pro-cli",
"bin": {
"pro": "bin/pro.js",
"mini": "bin/mini.js"
}
}
这样安装就有 pro
与 mini
两个命令。
对应 bin/pro.js
文件的写法
#!/usr/bin/env node
require('../lib/pro');
与普通的 js 文件写法一样,只是前面要加上 #!/usr/bin/env node。
这段前缀代码叫 shebang,具体可以参考 Shebang (Unix) - Wikipedia.
安装方式
全局安装
npm i -g pro-cli
这种安装方式可以在命令行全局使用。
pro dev
pro build
本地安装
npm i --save-dev pro-cli
这种安装方式需要配合 npm
一起使用,比如:
package.json :
{
"scripts": {
"dev": "pro dev",
"build": "pro build"
}
}
使用 :
npm run dev
npm run build