JavaScript命令行工具使用教程
本篇文章向大家介绍《JavaScript命令行工具怎么用?Node.js创建教程》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。
JavaScript命令行工具是基于Node.js在终端运行的可执行程序,需配置shebang、package.json的bin字段,用npm link测试,借助commander等库解析参数,最后通过npm publish发布。

JavaScript命令行工具,就是用JavaScript写的、能在终端里直接运行的小程序,比如 eslint、create-react-app 或 npm 本身。它们不是网页里的脚本,而是借助 Node.js 在系统命令行中执行的可执行程序。
核心前提:Node.js 环境必须就绪
没有 Node.js,就跑不了 JS 命令行工具。确认已安装:
- 终端输入
node -v和npm -v,能看到版本号 - 如果没装,去 nodejs.org 下载 LTS 版本安装即可
写一个最简命令行工具(Hello World)
新建文件夹,初始化项目:
mkdir my-cli && cd my-cli<br>npm init -y
创建主文件 index.js:
#!/usr/bin/env node<br>console.log('Hello from CLI!');
关键点:
第一行 #!/usr/bin/env node 是“shebang”,告诉系统用 node 执行这个文件,缺了它,Linux/macOS 下无法直接运行。
在 package.json 中添加 bin 字段:
"bin": {<br> "mycli": "./index.js"<br>}
然后全局链接测试:
npm link
之后任意目录下输入 mycli,就能看到输出 Hello from CLI!。
让工具接收参数和选项
纯 console.log(process.argv) 能看到原始参数数组(前两个是 node 路径和脚本路径),但更推荐用现成库简化处理:
commander:轻量、API 清晰,适合大多数场景yargs:功能强,自动生帮助文档、类型推导好
例如用 commander:
npm install commander<br>// index.js 中:<br>const { program } = require('commander');<br>program<br> .option('-n, --name <name>', 'your name')<br> .parse();<br>console.log(`Hi ${program.opts().name || 'there'}!`);
运行 mycli -n Alice 就会输出 Hi Alice!。
发布与分发
想让别人也能 npm install -g your-cli 使用?只需:
- 确保
package.json的name字段唯一(查 npm registry 是否重名) - 登录 npm 账号:
npm login - 发布:
npm publish
注意:bin 字段指定的文件要有可执行权限(Linux/macOS 下 chmod +x ./index.js,Windows 通常不用);入口文件要带 shebang;版本号别重复。
基本上就这些。不复杂,但几个关键点——shebang、bin 字段、npm link 测试、参数解析库——容易忽略,补上就稳了。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《JavaScript命令行工具使用教程》文章吧,也可关注golang学习网公众号了解相关技术文章。
PythonF-String高效使用教程
- 上一篇
- PythonF-String高效使用教程
- 下一篇
- HTML结构详解与DOCTYPE使用方法
-
- 文章 · 前端 | 14分钟前 |
- HTML5浏览器XML解析慢?优化DOM操作技巧详解
- 197浏览 收藏
-
- 文章 · 前端 | 15分钟前 |
- JavaScript如何实现语音识别?
- 410浏览 收藏
-
- 文章 · 前端 | 20分钟前 |
- Object.create 实现影子属性拷贝方法
- 387浏览 收藏
-
- 文章 · 前端 | 20分钟前 |
- HTML模板如何保持简洁\_重构优化技巧分享
- 197浏览 收藏
-
- 文章 · 前端 | 23分钟前 |
- Object.is解决正负零与NaN相等性问题
- 366浏览 收藏
-
- 文章 · 前端 | 23分钟前 |
- Vite优化CSS热更新,禁用sourcemap提升速度
- 376浏览 收藏
-
- 文章 · 前端 | 37分钟前 |
- CSS响应式颜色适配:媒体查询切换深浅模式
- 309浏览 收藏
-
- 文章 · 前端 | 39分钟前 |
- HTML显示社区等级加速方法【活动双倍经验详解】
- 154浏览 收藏
-
- 文章 · 前端 | 42分钟前 |
- HTML如何正确标注网页发布日期
- 162浏览 收藏
-
- 文章 · 前端 | 44分钟前 |
- HTML中通过async属性加载外部CSS的方式其实并不存在,因为标签的async属性主要用于脚本(
