创建带有可执行文件的包
首先创建可执行文件,文件首行要指定当前脚本的解释器#! /usr/bin/env node
,表示当前脚本要使用#! /usr/bin/env node
执行,示例文件:
#! /usr/bin/env node
console.log("this is a executable file")
在package.json
文件中定义bin
字段,它是命令名到本地文件的映射,示例:
"bin": {
"cmd": "cmd.js"
}
当安装该包时,npm会自动在node_modules/.bin
目录下创建软链接指向cmd.js
,终端就可以使用cmd
命令了。
使用本地包中的可执行文件
在模块根目录下执行npm link
命令,则会在全局文件下{prefix}/node_modules/<package>
创建一个指向包文件夹的软连接,同时会根据package.json
中的bin
字段创建软链{prefix}/{name}
。如此就可以全局使用bin
中的命令。