2012-07-28 166 views
16

我正在尋找一種方法將節點變量直接輸入到Chrome瀏覽器控制檯。 console.log()在客戶端工作方式相同。類似於this for php。這將大大加快發展。從Node.js輸出到Chrome控制檯

+1

這不完全調試的VSC和Chrome瀏覽器的代碼,你在找什麼,但看看節點發現-inspector,https://github.com/dannycoates/node-inspector/。 – 2012-07-28 20:18:06

回答

19

注: 由於舊的回答(寫於2014年9月)是指舊版本的node-inspector,我的說明在2017年不再相關。此外,文檔已經變得更好,所以我更新了我的原始答案:

節點檢查員是你所需要的。使用其開發者工具進行調試,它打開了Chrome的一個實例。

它也很容易使用:

安裝

$ npm install -g node-inspector 

2.開始

$ node-debug app.js 

來源:https://github.com/node-inspector/node-inspector

1

對於用戶與linux上的nodejs通過ssh-shell(putty):

linux-ssh-shell上nodejs的問題是,您沒有連接瀏覽器。 我試過所有這些解決方案,但沒有得到它的工作。

所以我制定了一個解決方案與火力點(https://firebase.google.com),因爲我的項目使用firebase。 如果您熟悉Firebase,那麼這是一個好方法。如果沒有,firebase值得與nodejs結合使用 - 並且免費!

在服務器端腳本(開始節點)使用自己的功能日誌():

// server-side: 
// using new firebase v3 ! 
var fbRootRef = firebase.database(); 
var fbConsoleRef = fbRootRef.ref("/console"); 
var log = function(args) { 
    fbConsoleRef.set({'obj': args}); 
} 

// inside your server-code: 
log({'key':'value'}); 

在客戶端創建此控制檯對象的火力點參考:

// client side: 
fbRootRef.child('/console').on('value', function(d) { 
    var v = d.val(); 
    console.log(v); 
}); 

現在,使用log()函數在服務器端登錄的所有內容都會實時傳送到firebase數據庫,並從那裏觸發客戶端控制檯引用並登錄到瀏覽器控制檯。

如果有人需要幫助,我會更詳細地解釋一下,並且可以給這個記錄的擴展版本加上類型(console./log/warn/info),標題信息分組(即服務器: +行)

爲您的項目設置firebase最長30分鐘,在30分鐘內插入控制檯功能,我認爲它值得的時間!

0

這是很酷的視頻我就如何通過 安德魯·米德

You tube link