在命令提示符下安装node.js模块以供全局使用

时间:2017-03-15 14:23:10

标签: node.js npm npm-install

我有node.js模块,用type-script制作。 全局安装type-script模块后:

npm install -g ts-node

我制作了一个名为 e2e 的模块,它获取了命令提示符。 之后我可以致电

ts-node e2e

但是,我仍需要通过

调用此模块e2e
e2e -a -b -c

其中-a,-b,-c是命令提示参数。

我尝试执行bat文件,如:

ts-node e2e -a -b -c

但它用这4个参数调用ts-node(e2e,-a,-b,-c)。

如何解决这个问题?我最终需要用params调用e2e。

1 个答案:

答案 0 :(得分:3)

您需要使用shebang行作为脚本的第一行。

例如:

#!/usr/bin/env node

请参阅:

然后您将全局安装:

npm install -g your-module

为此你需要包含package.json的bin部分。 请参阅文档:

或者您可以手动将其复制到PATH中的某个目录,例如/usr/bin/local/bin等,但它需要shebang行,并且必须是可执行的:

chmod a+x your-file-name

请参阅:

实施例

例如关于如何做到这一点,看看我在GitHub上的项目和npm就是这样做的:

Shebang line

请参阅剧本中的shebang专栏:

#!/usr/bin/env node

package.json

请参阅"bin"中的package.json部分:

"bin": {
  "websocket-vs-socket.io": "ws-vs-si.js"
},

如您所见,您甚至可以使用与原始文件命名不同的名称安装它。

用法

请参阅有关如何安装和使用它的说明:

  

安装:

npm i -g websocket-vs-socket.io
     

运行服务器:

websocket-vs-socket.io

这是一个非常简单的项目,您可以在以下网址看到: