2011-12-03 149 views
52

嘗試第一次使用node.js。設置節點,從nodejs.org網站設置示例應用程序。可以啓動服務器正常,但console.log()實際上沒有記錄任何東西。在Chrome,Firefox和Safari中嘗試了Javascript控制檯 - 日誌中沒有任何內容出現。還檢查了我的Mac上的控制檯只是踢,沒有任何一方。我錯過了什麼?Node.js console.log()沒有記錄任何東西

(這裏的示例代碼工作,但不記錄任何東西。)

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/'); 
+0

你是如何運行這個應用程序?什麼環境?如果它位於本地機器的控制檯上,那麼您應該會看到來自應用程序的日誌。如果您使用的是託管解決方案,那麼他們通常會通過Web界面和命令行API工具提供一些查看日誌的方式。 – Treffynnon

+0

我無法在我的機器上覆制此內容。這工作得很好。你正在運行什麼版本? –

+3

console.log()將字符串發送到終端窗口(運行應用程序的命令行界面) –

回答

115

在服務器的Node.js輸出console.log到終端窗口,而不是瀏覽器的控制檯窗口。

你是如何運行你的服務器?您應該在啓動後直接看到輸出。

+58

我會投我自己的問題,如果我可以。不能相信我沒有建立這種聯繫。 – chrismanderson

+2

每個人都在盯着nodejs期待相同的...控制檯輸出應該登錄到瀏覽器的控制檯以及終端。 –

+9

@Brad不,它不應該。並非所有節點程序都是Web服務器,即使它們仍然沒有意義。 – david

1

使用現代--inspect和節點console.log被捕獲並傳遞給瀏覽器。

節點--inspect myApp.js

或捕獲早期測井--inspect-BRK可用於停止在所述第一模塊的第一行中的程序...

節點 - inspect-brk myApp.js