中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node.js中如何進行調試

發布時間:2020-11-19 11:45:43 來源:億速云 閱讀:182 作者:小新 欄目:web開發

這篇文章主要介紹node.js中如何進行調試,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

用了幾天node.js感覺很新奇,但是調試問題實在是愁煞人,開始的時候懶的學習調試方法,看看異常內容就可以了,但隨著代碼復雜程度的上升,并不是所有錯誤都是語法錯誤了,不調試搞不定了,只好搜搜資料,學習了一下怎么調試。

不用每次都重啟服務的supervisor

使用過PHP的同學肯定都清楚,修改了某個腳本文件后,只要刷新頁面服務器就會加載新的內容,但是node.js在第一次引用到某個文件解析后會將其放入內存,下次訪問的時候直接在內存中獲取,以提高效率,但是這對我們開發造成一定困擾,修改了某個module后只能重啟服務器后才能生效,調試起來效率還是很低的。

于是乎node.js中有了supervisor插件幫我們堅實文件改動,自動重啟服務器,supervisor是node.js的一個包,安裝起來很簡單,使用npm的安裝命令就可以,因為我們需要在控制臺運行,所以需要安裝在全局環境中

npm install -g supervisor

這樣我們就可以使用supervisor啟動腳本了

supervisor index

node.js中如何進行調試

當我們對文件做了改動的時候,可以看到控制臺多了三行,服務器已經重啟了

node.js中如何進行調試

原生控制臺調試

node.js本身支持調試,在語句前面加debugger指令就可以添加一個斷點

var server=require('./server'),
    router=require('./router'),
    requestHandlers=require('./requestHandlers');debugger;var handle={};debugger;
handle['/']=handle['/start']=requestHandlers.start;debugger;
handle['/upload']=requestHandlers.upload;
handle['/show']=requestHandlers.show;debugger;
server.start(8080,router.route,handle);

在啟動服務的時候添加debug 選項

node debug index.js

node.js中如何進行調試

這時候輸入一些指令就可以單步調試、到斷點監視局部變量等,看個命令圖,很多命令都有其縮寫形式

node.js調試命令
命令功能
run

執行腳本,在第一行暫停

restart

重新執行腳本

cont, c

繼續執行,直到遇到下一個斷點

next, n

單步執行

step, s

單步執行并進入函數

out, o

從函數中步出

setBreakpoint(), sb()

當前行設置斷點

setBreakpoint(‘f()’), sb(...)

在函數f的第一行設置斷點

setBreakpoint(‘script.js’, 20), sb(...)

在 script.js 的第20行設置斷點

clearBreakpoint, cb(...)

清除所有斷點

backtrace, bt

顯示當前的調用棧

list(5)

顯示當前執行到的前后5行代碼

watch(expr)

把表達式 expr 加入監視列表

unwatch(expr)

把表達式 expr 從監視列表移除

watchers

顯示監視列表中所有的表達式和值

repl

在當前上下文打開即時求值環境

kill

終止當前執行的腳本

scripts

顯示當前已加載的所有腳本

version

顯示v8版本

詳細使用有興趣同學可以自己摸索,我是沒興趣。。。太復雜了,看幾個貼心的

使用Eclipse調試

是的,Eclipse又威武了,連node.js也能調試,在Eclipe官網上下載eclipse,然后 Help->Install New Software->Add

在彈出的窗口添加一個源,名字好記就行,地址是http://chromedevtools.googlecode.com/svn/update/dev/

node.js中如何進行調試

等一會兒后彈出選擇界面,選中第一個

node.js中如何進行調試

一路next到最后finish,下載完成后會提醒重啟Eclipse,完成之后就可以調試node.js了,打開想調試的文件,切換Eclipse到調試視圖,點擊工具欄右邊的小三角,選擇Debug Configuration

node.js中如何進行調試

雙擊 Standard V8 VM 選項創建一個新的配置,填好相應參數

node.js中如何進行調試

通過 --debug-brk選項在控制臺啟動node服務器

node --debug-brk=5858 test.js

點擊Eclipse剛才界面的debug按鈕,就可以像調試Java一樣調試node.js了

node.js中如何進行調試

使用node-inspector調試

大部分node.js應用都是web應用,所以一些基于Chrome的在線調試工具應運而生,最出名的應該就是node-inspector了,這是一個node.js的模塊,安裝、使用相當的方便,首先使用npm把其安裝在全局環境中

npm install -g node-inspector

node-inspector是通過websocket方式來轉向debug輸入輸出的。因此,我們在調試前要先啟動node-inspector來監聽node.js的debug調試端口。默認情況下node-inspector的端口是8080,可以通過參數--web-port=[port]來設置端口。

node.js中如何進行調試

在啟動node-inpspector之后,我們可以通過--debug或--debug-brk來啟動node.js程序。

node.js中如何進行調試

這時候就可以訪問http://127.0.0.1:8888/debug?port=5858 使用瀏覽器調試了,看看界面,不用多說什么了吧

node.js中如何進行調試

以上是node.js中如何進行調試的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潜江市| 大兴区| 特克斯县| 女性| 许昌市| 宁河县| 原平市| 顺昌县| 宁津县| 长泰县| 河曲县| 弥勒县| 汝州市| 郓城县| 西城区| 松原市| 新闻| 汉寿县| 肇州县| 曲周县| 溆浦县| 筠连县| 博客| 泰顺县| 中卫市| 永年县| 云霄县| 和田县| 平谷区| 景宁| 资讯| 特克斯县| 鹿邑县| 潜江市| 扎赉特旗| 分宜县| 通州区| 临夏市| 大埔县| 招远市| 工布江达县|