在NPM软件包中声明全局命令

时间:2019-09-22 18:44:21

标签: node.js npm

我试图了解如何在可通过主应用程序访问的NPM软件包中声明命令。

例如,我在NPM注册表中发布了一个项目,在package.json内有几个命令,例如:

"scripts": {
 "somestuff": "node index.js"
},

现在说我要在主应用程序中使用此命令somestuff。当我尝试运行此命令时,我收到:missing script: somestuff

因为未在主应用程序的package.json中定义,而是在package.json文件夹中的模块的node_modules内部定义。

如何在可从主应用程序访问的节点模块中声明命令?

1 个答案:

答案 0 :(得分:1)

我自己还没有尝试过,但是我认为您可以做这样的事情。在您的package.json中:

{
  "name": "my-package",
  ...
  "main": "index.js",
  "bin": "index.js",
  ...
}

然后从任何将其安装为依赖项的位置调用它:

npx my-package

您可能希望将my-package--save-dev一起安装。

另外,看看npx-run project,它看起来完全符合您的要求。