使用npm制作一个CMD命令
制作一个npm包, 让你可以在命令行执行你自己的命令, 然后自定义一些操作
类似于各种vue-cli
或其他各种脚手架, 通过执行vue
命令, 去创建一个项目
创建一个空包
创建一个文件夹, 作为你的npm包的目录(以command-test为例)
创建package.json
文件
- 打开command-test的命令行
- 使用
npm init
创建package.json文件选择手动新建也是可以的
但是要保证package.json中必须有name和version两个字段
因为后面要把这个包发布到npm仓库 - package.json中添加命令配置
{
"name": "command-test",
"version": "1.0.0",
...
"bin": {
"mycommand": "./print.js"
}
}
bin
属性用于配置命令
其中mycommand
为命令名称, 之后执行时使用的
mycommand
后面的路径是运行mycommand
是执行的文件路径
当然你可以配置多个命令, 例如
{
"name": "command-test",
"version": "1.0.0",
...
"bin": {
"mycommand": "./print.js",
"sayhello": "./sayHello.js"
}
}
但是为了方便我这里就配一个
mycommand
命令就可以了
创建print.js
文件
依照配置的路径, 新建一个
print.js
文件
print.js
文件中就可以写上你运行命令是需要做的一些事情
不过需要注意的是, 在文件开头必须写上#!/usr/bin/env node
, 否则运行命令是会出错
#!/usr/bin/env node
console.log('你正在执行"mycommand"命令');
给npm包添加一个说明文件
可以给你的npm包添加一个说明文件
README.md
文件
项目根目录新建READMD.md
# 使用npm制作npm命令尝试
> 尝试使用npm制作一个命令
发布npm包
现在你可以把你的npm包发布到npm仓库了, 但是这只是一次尝试, 不可能真的发布到npm上, 那我们要这么测试我们写的npm包是否可用呢?
其实我们可以使用npm私有仓库, 具体的使用可以参考Verdaccio–搭建NPM私有仓库
安装npm包
把包发布到npm仓库后, 就可以使用
npm i
安装我们自己的包了
因为是个命令工具, 所以当然是全局安装啦
npm i -g command-test
运行命令
安装完成后, 我们就可以运行我们前面写的
mycommand
命令了
打开命令行, 运行mycommand
我们就可以看到打印了你正在执行"mycommand"命令
那么恭喜你, 你已经学会了最基本的命令制作了