基于nodejs开发cli工具(一)

什么是命令行工具?

命令行工具(Cmmand Line Interface)简称cli,顾名思义就是在命令行终端中使用的工具。

前端常用的cli工具有vue-cli、create-react-app等,这些工具可以帮助开发者快速的创建项目,运行项目,是团队提升效率的重要手段。

如何开发命令行工具?

理论上来说,多数成熟的语言都可以开发cli工具,包括前端开发者最熟悉的javascript。而使用javascript开发cli工具,则需要用到nodejs。

准备

首先,需要确保已经安装了nodejs。nodejs安装方法

然后,创建一个项目:

1
2
mkdir my-cli & cd my-cli
npm init -y

添加命令

通过npm初始化项目后,会在项目根目录生成package.json文件。

修改package.json文件,添加bin配置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"name": "my-cli",
"version": "1.0.0",
"description": "",
- "main": "index.js",
+ "bin":{
+ "my-cli": "./bin/cli.js"
+ },
- "scripts": {
- "test": "echo \"Error: no test specified\" && exit 1"
- },
"keywords": [],
"author": "",
"license": "ISC"
}

其中,my-cli是cli工具提供的命令名称,对应的值是执行的文件地址。

添加文件

在项目根目录新建bin/cli.js文件。

文件内容如下:

1
2
3
#!/usr/bin/env node

console.log('这是我的CLI工具')

注:文件第一行的#!/usr/bin/env node不可省略,它用于指明代码的运行环境。

测试

直接运行测试

在项目根目录下,输入以下命令:

1
node bin/cli.js

本地测试

由于此时CLI工具还没有发布,所以需要在本地进行安装后才能执行,在本地执行以下命令:

1
npm link

或者

1
yarn link

成功后再执行my-cli,就可以看到控制台的输出了。

小结

至此,一个最简单的CLI工具就已经开发完成了。当然,CLI工具能做到的远不止这些,所以,后面可以在此基础上一步步的添加功能,比如:处理参数,显示帮助信息,创建文件等等。