使用 commander.js
写 Node.js CLI 应用已经是老生常谈的问题了,网上可以找到各种教程。
最近在写一个稍微有点复杂的 CLI,以前就是 console.log
一把梭的 debug。然而,看个变量都太费心了,如果能够断点调试就方便多了。
Google 一番后,对于 VSCode 强大的 Node.js 调试功能,果然不在话下。
下面用一个简单的代码来演示调试效果。
使用 commander.js
创建一个 CLI
- 新建一个文件夹,如
my-cli
, 首先初始化package.json
,安装commander.js
和你需要的其他 npm 包。
1 | npm init -y |
- 新建主入口文件
index.js
,这里写一点简单的测试代码来演示。
1 |
|
- 修改
package.json
,新增bin
字段,执行npm link
后,就可以使用my-cli
执行命令了, 更多commander.js
使用参见 Github。
1 | { |
1 | npm link # 建立软链接 |
配置 VSCode
- 如图所示,创建 launch.json 文件,新增
args
console
,前者表示运行 CLI 的参数,后者表示使用 VSCode 集成的终端来调试。其中,args
根据需要调整参数,也可以使用configurations
来配置多个测试用例。
1 | { |
- 在所需代码处添加断点后,F5 启动当前配置进行调试,如图所示,按照所期待的那样,代码在断点处暂停了,可以和往常一样方便地看到调用堆栈和变量。
本篇完
代码参见:https://github.com/TracerLee/FE-demos/tree/master/blog/my-cli