主题
实现一个本地npm全局包
全局安装的模块,只能让在命令行里面使用,
自己实现一个全局包的基本步骤
1. 需要在package.json里面配置bin命令
json
{
"name":"test-pkg",
"bin":"./bin/www" // 命令行使用的是name字段
// 或者,配置命令行命令简化方式,使用abc替代了test-pkg
"bin":{
"abc":"./bin/www"
}
}
2. 指定www
文件执行方式
可执行文件(/bin/www
)里面需要指定执行方式, 例如node方式执行:#! /usr/bin/env node;wwww文件可以不指定后缀名,但是需要制定执行方式,
3. 将此包放到npm下
可以全局安装,或者为了调试方便,零时做一个 npm link,只能自己使用。(运行npm link
即可)
若要移除npm link
隐射号的全局模块路径。可以运行npm run unlink xxx
npm link
命令会将可执行命令添加到全局环境变量里面,运行配置的命令,会通过link
路径找到当前这个包的可执行文件从而运行。