
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.5.2 CLI二进制模块
大家都知道,生成器是CLI工具,所以我们应该使用二进制模块手动修改package.json文件,代码如下。

这里主要增加了对bin字段的配置,bin字段里的gen为CLI的具体命令,它的具体执行文件为gen.js。bin是plain old object类型字段,所以可以为其配置多个命令,各位读者可以按照自己的需求进行配置。
gen命令的执行文件gen.js的创建方式如下。

在gen.js文件里键入如下编写二进制模块时常用的代码。

针对以上代码,具体说明如下。
〇 argv:命令行参数。
〇 filePath:当前文件路径,也就是安装后的文件路径,非常适合存放模板文件。
〇 currentPath:当前shell命令的上下文路径,即生成器生成文件的目标位置。
至此,二进制模块的代码就编写完成了,下面我们来进行测试。
首先在本地安装此模块,在package.json文件所在路径下执行如下命令。

如果出现以下内容,则表示已经安装成功。

接着执行gen测试,命令如下。

可以更换不同的目录进行测试,会看到不同的执行结果。