搭建脚手架步骤流程:
- 在自己的目录新建一个文件夹,命名为
test-hp-cli - 进入文件夹,执行命令
npm init -y - 根目录新建bin文件夹,在目录下新建index.js文件
- 在index.js文件中文件最上方写入以下代码
#!/usr/bin/env node
console.log('hello world');
- 在package.json文件中,修改bin字段为
"bin": "bin/index.js" - 执行命令
npm link,在全局环境下创建一个软链接到当前目录的node_modules文件夹下。这样就可以在任何地方通过命令行使用该脚手架了。例如:test-hp-cli hello world - 如果要发布到npm上,需要先注册一个账号,然后登录npm,再执行以下命令即可上传包:
npm publish --access public
发布npm包的方法:
- 登录npm账号:
npm login, 输入用户名、密码和邮箱 - 发布包失败,可能是因为包名已经被占用或者不符合npm的命名规范。可以尝试修改包名为其他名称,例如将
test-hp-cli改为@test/hp-cli
- npm全局安装脚手架:
npm install -g test-hp-cli - 执行脚手架命令:
test-hp-cli,执行失败提示没有这个命令,检查package.json中的bin字段是否正确,key值需要和包名一致。例如"test-hp-test": "bin/index.js" - 修改包名后重新发布,需要更新版本号,否则也会发布失败。例如
npm version patch,然后重新发布:npm publish
代表执行成功的提示信息:
image.png
- 如何安装远程版本,不使用本地的软链接
调试本地脚手架:
- 进入到脚手架目录执行
npm i -g test-hp-cli,查看bin目录下文件链接的路径可以看出来是链接到本地的 - 执行
npm link后,会在Node_modules中创建一个test-hp-cli的命令,命令链向的是node_modules下的test-hp-cli目录,node_modules下的test-hp-cli又链向本地的hp-test。
未发布的包如何调试:
- 进入到脚手架目录执行
npm link,此时会在全局环境下创建一个软链接到当前目录的node_modules文件夹下。这样就可以在任何地方通过命令行使用该脚手架了
注册命令&参数解析
process.argv可以获取到命令行参数,执行结果-
选项和参数解析
