Javascript 创建一个npm控制台应用程序;“可安装”;(如约曼、大口大口或咕噜声等)

Javascript 创建一个npm控制台应用程序;“可安装”;(如约曼、大口大口或咕噜声等),javascript,node.js,console,npm,package,Javascript,Node.js,Console,Npm,Package,我对NPM的所有东西都很陌生,但是,我想创建一个新的包,它应该能够作为控制台应用程序运行(比如gulp和grunt) 所以基本上我想做的是让跑步成为可能 npm install -g mypackage 然后 mypackage 这将启动控制台应用程序 我一直在使用npminit初始化我的新包,我还创建了入口点(在我的例子中是app.js),node app.js运行良好 我还使用了npmpack来创建一个包和npm安装{path to my.tgz} 这是我的app.js: console

我对NPM的所有东西都很陌生,但是,我想创建一个新的包,它应该能够作为控制台应用程序运行(比如gulp和grunt)

所以基本上我想做的是让跑步成为可能

npm install -g mypackage
然后

mypackage
这将启动控制台应用程序

我一直在使用
npminit
初始化我的新包,我还创建了入口点(在我的例子中是app.js),node app.js运行良好

我还使用了
npmpack
来创建一个包和
npm安装{path to my.tgz}

这是我的app.js:

console.log('Hi from NodeJS');
到目前为止还没什么特别的

该包名为“mypackage” 问题是,当我键入时:
mypackage
在我的控制台中,控制台应用程序不运行

有什么想法吗

比尔, 您正在寻找的Inx

要将一个或多个可执行文件安装到
路径
,您应该提供
package.json
中的bin字段,它是命令名到 本地文件名。安装时,npm将该文件符号链接到 全局安装的前缀为/bin,本地安装的前缀为./node\u modules/.bin/ 安装

例如,grunt cli具有以下功能:

"bin": {
  "grunt": "bin/grunt"
},
其中
bin/grunt
是一个js文件(但没有定义扩展名)

另外,如果您计划将此作为全球包发货,请不要忘记设置。

您正在寻找的

要将一个或多个可执行文件安装到
路径
,您应该提供
package.json
中的bin字段,它是命令名到 本地文件名。安装时,npm将该文件符号链接到 全局安装的前缀为/bin,本地安装的前缀为./node\u modules/.bin/ 安装

例如,grunt cli具有以下功能:

"bin": {
  "grunt": "bin/grunt"
},
其中
bin/grunt
是一个js文件(但没有定义扩展名)


另外,如果您计划将此作为全球包发货,请不要忘记设置。

您好!好的,在我做了一些测试之后。。基本上,这就是执行/打开位于bin/grunt中的文件/程序?因此,如果我有我的npm控制台应用程序。。我基本上会将.exe放入并使用:“bin”:{“mypackage”:“bin/mypackage.exe”}?我刚刚用“bin:{“mypackage”:“bin/mypackage”}尝试了上面的方法,其中bin/mypackage文件容器包含一个简单的console.log。。然而。。安装软件包并在我的控制台中运行“mypackage”后。。我被要求选择一个打开文件的程序,因为我的操作系统未重新定义该文件。@lnx51您不需要任何exe文件,您在bin中指定的路径是js文件的路径。因此,在
package.json
+installeld全局+执行
mypack
将与
节点路径/to/file.js
相同!好的,在我做了一些测试之后。。基本上,这就是执行/打开位于bin/grunt中的文件/程序?因此,如果我有我的npm控制台应用程序。。我基本上会将.exe放入并使用:“bin”:{“mypackage”:“bin/mypackage.exe”}?我刚刚用“bin:{“mypackage”:“bin/mypackage”}尝试了上面的方法,其中bin/mypackage文件容器包含一个简单的console.log。。然而。。安装软件包并在我的控制台中运行“mypackage”后。。我被要求选择一个打开文件的程序,因为我的操作系统未重新定义该文件。@lnx51您不需要任何exe文件,您在bin中指定的路径是js文件的路径。因此,在
package.json
+installeld全局+执行
mypack
时,在
bin:{“mypack”:“path/to/file.js”}
中设置
,与
节点路径/to/file.js
相同