从任何地方在Windows命令中执行单个Node.js文件

时间:2016-03-15 16:00:48

标签: javascript node.js windows path

我在c:\scripts中有一个Node.js文件,想要在node my-file.js之间的任何地方通过Windows命令执行它们。这是执行bat文件的一种要求,我可以将文件夹放在%PATH%中。我已尝试在c:\scripts中加入%NODE_PATH%,但它无效。

1 个答案:

答案 0 :(得分:0)

nodejs具有可执行文件的概念......例如package

jslint

安装后可以直接从任何地方执行...使用-g标志安装,如:

npm install -g jslint

就像普通包一样,它的代码安装在由env var

定义的目录中
NODE_PATH

另外它的可执行文件位于bin目录中,默认情况下在初始nodejs安装期间添加到PATH

在linux上

type jshint
jshint is /home/stens/node-v5.8.0/bin/jshint


echo $NODE_PATH
/home/stens/node-v5.8.0/lib/node_modules
类似的事情发生在Windows框上,只是检查你的PATH看到nodejs bin目录...在linux上它相对于$ NODE_PATH的位置

更新:

上面的替代方法你可以将一个文件(将Windows等效于chmod + x some-file以使其成为可执行文件)放入$ PATH中列出的目录中...例如,如果我发出

type jslint
找到

因为PATH包含dir /home/stens/node-v5.8.0/bin ...以上命令输出:

jslint is hashed (/home/stens/node-v5.8.0/bin/jslint)

然后显示内容

cat /home/stens/node-v5.8.0/bin/jslint

#!/usr/bin/env node

var main = require("../lib/main.js");

main.runMain(main.parseArgs());

你可以在第一行的nodejs代码中看到可执行文件

#!/usr/bin/env node

告诉系统使用节点执行它(dunno是Windows方式但类似必须可用)

所以使用

执行
jslint blah input-blah parm-blah goes-blah here-blah

希望这能为您提供正确的方向