当我尝试通过声明其位置在 Windows 命令提示符中运行 node.js
程序时,它总是会说:
[stated location] is not recognized as an internal or external command, operable program or batch file.
在所有 node.js
手册中对类似问题的所有回答中,都假设您可以通过从其位置调用 node.js
文件来运行它。总会有人建议在建立服务器等之前尝试一些 hello world
示例。
即使我使用 prompt $ cmd
清理命令提示符,然后手动写入整个位置,我也会收到相同的消息。
当我运行时
echo %path%
我得到C:\Program Files\nodejs\bin
当我运行时
node -v
我得到v6.10.3
当我运行时
node a00.js
(其中a00.js
是脚本的名称),它认为整个路径是一个模块,所以它说它无法识别该模块
。
如果我使用prompt $ cmd
清除命令提示符,然后运行node a00.js
,它认为a00.js
是一个模块,所以它说它无法识别该模块
。
最佳答案
你的路径知道node.js
在哪里,但它不知道a00.js在哪里。因此,您需要以 node
形式运行命令,后跟文件路径。 (复制所有命令,包括双引号)
node "C:\Program Files\nodejs\a00.js"
举个例子,试试这个。
创建一个名为 hello.js
的文件,将其保存在 C:\Windows\Temp\
(或您喜欢的位置)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, "127.0.0.1");
console.log('Server running at http://127.0.0.1:1337/');
现在打开cmd
并像这样运行它(假设您将其保存在C:\Windows\Temp\
node "c:\Windows\Temp\hello.js"
如果你从路径运行它,意味着你CD
到a00.js文件所在的目录,那么你只能以`node a00.js运行它
作为示例,假设 a00.js
存在于 C:\Windows\Temp
中:
cd c:\Windows\Temp
node a00.js
重要说明使用任何路径时,请始终将其用双引号引起来。
这会导致错误:
node C:\Program Files\test\a00.js
这会起作用:
node "C:\Program Files\test\a00.js"
关于javascript - 无法在命令提示符下运行nodejs脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44412272/