簡體   English   中英

無法在命令提示符下運行nodejs腳本

[英]Cannot run nodejs script in command prompt

當我嘗試通過聲明其位置來在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

您的路徑知道node.js位置,但它不知道a00.js在哪里。 因此,您需要將命令作為node運行,然后運行文件路徑。 (復制所有命令,包括雙引號)

node "C:\Program Files\nodejs\a00.js"

舉個例子,試試這個。

創建一個名為hello.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運行

例如,假設在C:\\Windows\\Temp存在a00.js

cd c:\Windows\Temp
node a00.js

使用任何路徑時的重要注意事項 ,請始終用雙引號將其括起來。

這會導致錯誤:

node C:\Program Files\test\a00.js

這將有效:

node "C:\Program Files\test\a00.js"

當node.js抱怨模塊不存在時,我遇到了類似的問題,那是因為它允許你保存文件名,例如if語句。然后當你在commander中調用它時它不喜歡它所以嘗試更改文件命名並運行它,這可以解決類似的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM