Node.js 在NPM包中声明全局命令

Node.js 在NPM包中声明全局命令,node.js,npm,Node.js,Npm,我试图理解如何在NPM包中声明命令,该包可以通过主应用程序访问 例如,我在NPM注册表中发布了一个项目,在package.json中有几个命令,比如: "scripts": { "somestuff": "node index.js" }, 假设现在我想在主应用程序中使用这个命令something。当我尝试运行此命令时,我收到:缺少脚本:something 因为它不是在主应用程序的package.json中定义的,而是在node\u modules文件夹中模块的package.json中定义

我试图理解如何在NPM包中声明命令,该包可以通过主应用程序访问

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

"scripts": {
 "somestuff": "node index.js"
},
假设现在我想在主应用程序中使用这个命令
something
。当我尝试运行此命令时,我收到:
缺少脚本:something

因为它不是在主应用程序的
package.json
中定义的,而是在
node\u modules
文件夹中模块的
package.json
中定义的


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

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

{
  "name": "my-package",
  ...
  "main": "index.js",
  "bin": "index.js",
  ...
}
然后从作为依赖项安装的任何位置调用它:

npx my-package
您可能希望使用
--save dev
安装
mypackage


另外,看看,它看起来正是你想要的。

我自己也没有试过,但我想你可以这样做。在您的
包.json中:

{
  "name": "my-package",
  ...
  "main": "index.js",
  "bin": "index.js",
  ...
}
然后从作为依赖项安装的任何位置调用它:

npx my-package
您可能希望使用
--save dev
安装
mypackage

另外,看看,它看起来正是你想要的