javascript - 无法在命令提示符下运行nodejs脚本

标签 javascript node.js

当我尝试通过声明其位置在 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/

相关文章:

jquery - 获取多个元素的文本作为单独的值

javascript - 如何在嵌入中显示用户的列值?

javascript - 将数组拆分为包含唯一对象组合的最小子数组

javascript - 如何在运行时评估 Javascript ES6 代码?

node.js - 什么是 node.js 内存故障?

javascript - anchor 击并保持页面位置?

javascript - 将特定类别中每个单词的首字母大写

javascript - jQuery 星级评分插件

javascript - 如何将图像保留在元素之外?

javascript - Sequelize - self 引用有很多关系