小编Dan*_*eld的帖子

运行节点bin脚本时确定命令行工作目录

我正在创建一个节点命令行界面.它全局安装并使用bin文件执行.

我计划在我正在处理的文件的根目录下打开一个命令窗口,然后运行该命令,但是我无法确定当前工作目录,因为process.cwd()它返回了节点包的目录.我最初假设,因为代码是使用批处理文件作为包装器执行的(这是bin文件在开始时没有节点就可以执行的方式),所以这是不可能的,但是咖啡脚本设法做到了.我看了一下咖啡脚本来源,但无法遵循它(没有足够的经验).

要自己测试它,请使用此package.json文件创建一个包:

{
  "name": "test-package",
  "version": "1.0.0",
  "bin": {
    "test-package":  "./bin/test-package"
  },
  "main": "/lib/test"
}
Run Code Online (Sandbox Code Playgroud)

bin中的这个测试包文件:

#!/usr/bin/env node

var path = require('path');
var fs   = require('fs');
var lib  = path.join(path.dirname(fs.realpathSync(__filename)), '../lib');

require(lib + '/test');
Run Code Online (Sandbox Code Playgroud)

任何人都可以对此有所了解.

然后尝试获取lib/test中的命令行目录.

command-line node.js npm

109
推荐指数
2
解决办法
9万
查看次数

如何在Node.js中注册url协议处理程序

我正在开发一个命令行节点模块,并希望能够通过网站上的链接启动它.

我想注册一个自定义协议my-module://,使链接具有以下格式:my-module://action:some-action点击它们将启动节点包.

如果没有这个节点API(我确定不会有),那么有没有办法通过调用系统命令从节点做到这一点?

它必须适用于Windows,Linux和MacOS.

javascript cross-platform node.js

20
推荐指数
1
解决办法
7485
查看次数

标签 统计

node.js ×2

command-line ×1

cross-platform ×1

javascript ×1

npm ×1