如何从命令行中的任何位置启动节点脚本,如Angular ng



我正在开发一个节点模块,它可以做一些事情,我想运行Angular的ng命令这样的命令(它必须与Windows和Linux兼容,我已经尝试检查Angular cli模块并对我的节点模块进行了一些修改,但它似乎仍然不起作用(

以下是我所做的:

  1. 我已经通过npm install -g <nodemodule>全局安装了节点模块
  2. 启动脚本具有正确的shabang,即:#!/usr/bin/env node这是为了使命令在Linux中运行,而不指定node
  3. 我已经从运行命令的文件中删除了扩展名,它是这样的:

    #/usr/bin/env节点

    var cli=require('./cli/cli(;

我确信脚本有效,因为如果我进入目录并在那里启动脚本,它就会有效。

如果您已经添加了#!/usr/bin/env node并设置了chmod +x yourCommand.js,您只需要添加:

"bin": {
"your-command": "/path-to-your-command"
}

在你的模块的package.json的根目录中,你可以在这里查看如何做到这一点的好指南

最新更新