1. 中的 字段
现在,不管是前端项目还是 项目,一般都会用 做包管理工具,而 是其相关的配置信息。
对 项目而言,模块导出入口文件由 的 字段指定,而如果是要安装到命令行的工具,则是由 的 字段指定。
1.1 配置单个命令
与包名同名
这样安装的命令名称就是 。
自定义命令名称(与包名不同名)
这样安装的命令名称也是 。
1.2 配置多个命令
这样安装就有 与 两个命令。
2. 对应 文件的写法
与普通的 文件写法一样,只是前面要加上 。
这段前缀代码叫 ,具体可以参考 Shebang (Unix) - Wikipedia。
3. 安装方式3.1 全局安装
这种安装方式可以在命令行全局使用。
3.2 本地安装
这种安装方式需要配合 一起使用,比如:
4. 选择合适的命令行封装库
一般来说,一个命令都会有如下的一些参数:
或 :查看版本号
:查看帮助信息
如果完全自己来写的,就会很麻烦,尤其是帮助信息。所以,选择一个好的命令行封装库,能够帮我们省去很多工作。
用的比较多的:
commander.js
yargs
meow
以 为例。
4.1 安装
4.2 注册
注册版本号与描述:
注册参数(非子命令参数):
注册子命令:
解析:
4.3 使用
查看版本号:
运行 子命令:
查看帮助( 会自动生成):
更多用法查看 commander.js。
5. 常用的命令行相关工具库5.1 minimist 解析命令行的参数
更多参考 minimist。
5.2 chalk: 让命令行的字符带上颜色
更多参考 chalk。
5.3 Inquirer.js 让命令行与用户进行交互,如输入、选择等。
更多参考 Inquirer.js。
5.4 shelljs 跨平台 Unix shell 命令 的 node 封装
更多参考 shelljs。
5.5 blessed-contrib 命令行图表
更多参考 blessed-contrib。
5.6 cash 跨平台 linux 命令 的 node 封装
与 shelljs 功能差不多。
更多参考 cash。
5.7 prompts 又一个让命令行与用户进行交互的工具
与 Inquirer.js 功能差不多。
更多参考 prompts。
5.8 ora 命令行加载中图标
更多参考 ora。
5.9 progress 命令行进度条
更多参考 progress。
5.10 更多
领取专属 10元无门槛券
私享最新 技术干货