2

我已經安裝Node.js Windows 8 PC並安裝了Node.js插件Visual Studio 2012。我從執行的Visual Studio 2012的基本程序剛剛打印字符串在控制檯上Node.js控制檯在Windows 8中從Visual Studio 2012執行程序後立即關閉

consol.log("Hi There"); 

Node.js的控制檯打印「您好」,並立即終止本身。任何人都可以提供解決方案來解決它嗎?

我已經經歷過類似的問題了,有沒有其他的方式來使用的setTimeout()在代碼中除了解決? (Why does the Node.js scripts console close instantly in Windows 8?

回答

7

而不是從Visual Studio中直接執行node app.js的,你可以改爲調用一個批處理文件:

wait.bat app.js 

wait.bat它只是裏面:

node %1 
pause press [enter] 

,或者你可以爲此在一行,或者一個模塊或功能在它包裝:

require('readline') 
    .createInterface(process.stdin, process.stdout) 
    .question("Press [Enter] to exit...", function(){ 
     process.exit(); 
}); 

它使用當前標註爲「不穩定」節點模塊從stdin讀取線路輸入。它忽略輸入,然後使用exit函數關閉進程。

12

從Visual Studio中的調試菜單中選擇「選項」。之後選擇「NodeJS工具」並勾選複選框「當進程正常退出時等待輸入」。在Visual Studio 2015年發生

+0

這是正確的答案。 – yazu

+0

它的工作原理,如果你使用setTimeout,你沒有看到傳遞給它的函數的結果;這將解決它!謝謝! –

1

同樣的行爲與Node.js的工具Visual Studio的所以這個問題仍然是相關的。值得慶幸的是,可以在無需額外批處理文件或readline包的情況下解決問題。

  1. 打開Visual Studio的菜單欄中選項屬性頁與工具 - >選項
  2. 在在左側菜單欄中,選擇Node.js的工具 - >常規
  3. 勾選標箱「等待輸入時進程正常退出

enter image description here

(我相信上面的Aleksandar Kostov試圖在他難以理解的答案中解釋這一點;他沒有錯)

相關問題