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

标签 node.js npm npm-install

我有用 typescript 制作的node.js 模块。 全局安装 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 个参数(e2e、-a、-b、-c)调用 ts-node。

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

最佳答案

您需要使用 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 行:

#!/usr/bin/env node

package.json

查看package.json中的“bin”部分:

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

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

用法

并查看有关如何安装和使用它的说明:

Install:

npm i -g websocket-vs-socket.io

Run the server:

websocket-vs-socket.io

这是一个非常简单的项目,您可以在以下位置查看:

和:

关于node.js - 在命令提示符中安装 node.js 模块以供全局使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42812505/

相关文章:

npm - yarn 未安装在 nvm 版本节点版本中

npm - 卸载 npm 包后出错

node.js - NodeJS 中的 Mongoose 模式类型错误 : Schema is not a constructor

npm - 如果安装失败,npm 会删除下载的模块吗?

javascript - 将已解决的 promise 值传递到最终的 "then"链的最佳方法是什么

javascript - 如何在我的 React 应用程序中嵌入 Facebook 发送按钮?

npm - 未找到 Webpack 命令

node.js - 从使用 npm pack 创建的 tgz 安装 npm

javascript - fs.readdir 和 fs.readfile 和正则表达式

javascript - node.js 中的编码风格