无法在命令提示符

时间:2017-06-07 12:10:26

标签: javascript node.js

当我尝试在Windows命令提示符中通过声明其位置来运行node.js程序时,它总是会说:

  

[声明的位置]不被识别为内部或外部命令,可操作程序或批处理文件。

在所有类似问题的答案中,在所有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是脚本的名称),它认为整个路径是一个模块,因此它表示cannot recognize that module

如果我使用prompt $ cmd清除命令提示符然后运行node a00.js,它会认为a00.js是一个模块,因此它说cannot recognize that module

2 个答案:

答案 0 :(得分:1)

您的路径知道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"

答案 1 :(得分:-1)

当node.js抱怨模块不存在时,我遇到了类似的问题,这是因为它允许您使用文件名保存例如If statement.js,但是当您在Commander中调用它时,它不喜欢它,因此请尝试更改文件名并运行它,可能会解决类似的问题