首页 > web前端 > js教程 > 正文

什么是javascript命令行工具_如何用Node.js创建?

夢幻星辰
发布: 2025-12-15 19:24:07
原创
533人浏览过
JavaScript命令行工具是基于Node.js在终端运行的可执行程序,需配置shebang、package.json的bin字段,用npm link测试,借助commander等库解析参数,最后通过npm publish发布。

什么是javascript命令行工具_如何用node.js创建?

JavaScript命令行工具,就是用JavaScript写的、能在终端里直接运行的小程序,比如 eslintcreate-react-appnpm 本身。它们不是网页里的脚本,而是借助 Node.js 在系统命令行中执行的可执行程序。

核心前提:Node.js 环境必须就绪

没有 Node.js,就跑不了 JS 命令行工具。确认已安装:

  • 终端输入 node -vnpm -v,能看到版本号
  • 如果没装,去 nodejs.org 下载 LTS 版本安装即可

写一个最简命令行工具(Hello World)

新建文件夹,初始化项目:

mkdir my-cli && cd my-cli<br>npm init -y
登录后复制

创建主文件 index.js

立即学习Java免费学习笔记(深入)”;

#!/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>}
登录后复制

然后全局链接测试:

万相营造
万相营造

阿里妈妈推出的AI电商营销工具

万相营造 168
查看详情 万相营造
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.jsonname 字段唯一(查 npm registry 是否重名)
  • 登录 npm 账号:npm login
  • 发布:npm publish

注意:bin 字段指定的文件要有可执行权限(Linux/macOS 下 chmod +x ./index.js,Windows 通常不用);入口文件要带 shebang;版本号别重复。

基本上就这些。不复杂,但几个关键点——shebang、bin 字段、npm link 测试、参数解析库——容易忽略,补上就稳了。

以上就是什么是javascript命令行工具_如何用Node.js创建?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号