公开全局命令以从节点包运行脚本

时间:2019-08-15 12:44:18

标签: node.js npm command-line

我正在构建一个npm软件包,并且希望它使用其自己的命令运行。

假设我的软件包的名称是 hello-world ,并且在package.json中有一个名为 start 的脚本,该脚本运行:

node index.js

我想要从命令行编写能够运行此脚本的自定义命令。

例如,在hello-world中写入cmd将会npm run start

一个很好的例子是 nodemon 软件包。

2 个答案:

答案 0 :(得分:1)

您将在您的package.json中添加bin字段,以显示可以链接到任何可执行文件(例如js文件)的全局命令。

样本package.json

{
  "name": "hello-world",
  "version": "1.0.0",
  "description": "hello-world cli client",
  "bin": "index.js"
}

那么您的npm模块应该按如下所示全局安装在系统中

npm pack (Optional.required only for local development)


npm install -g hello-world-1.0.0.tgz

现在,您只需以hello-world的身份运行命令即可运行脚本

注意:可执行脚本index.js应该以{{1​​}}行开头

答案 1 :(得分:0)

例如,在package.json中添加一个条目

"scripts": {
    "runme": "node index.js"
}

然后您可以执行以下操作:

npm run runme