繁体   English   中英

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

[英]Expose a global command to run a script from node package

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

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

node index.js

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

例如,在cmd编写hello-world将执行npm run start

一个很好的例子是nodemon包。

您必须将bin字段添加到 package.json 中以公开一个可以链接到任何可执行文件(如 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应该以一行#!/usr/bin/env node开头

在你的 package.json 下添加一个条目,例如

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

然后你可以做这样的事情:

npm run runme

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM