亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解使用Visual Studio Code對(duì)Node.js進(jìn)行斷點(diǎn)調(diào)試

 更新時(shí)間:2017年09月14日 11:50:13   作者:webFunc  
這篇文章主要介紹了詳解使用Visual Studio Code對(duì)Node.js進(jìn)行斷點(diǎn)調(diào)試,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在開(kāi)發(fā)的過(guò)程中,幾乎不可能一次性就能寫(xiě)出毫無(wú)破綻的程序,斷點(diǎn)調(diào)試代碼是一個(gè)普遍的需求。

作為前端開(kāi)發(fā)工程師,以往我們開(kāi)發(fā)的JavaScript程序都運(yùn)行在瀏覽器端,利用Chrome提供的開(kāi)發(fā)者工具就可以方便的進(jìn)行源碼斷點(diǎn)調(diào)試。其步驟有四,詳情不表,粗略概括如下:

  • 打開(kāi)Chrome開(kāi)發(fā)者工具;
  • 點(diǎn)擊進(jìn)入Sources標(biāo)簽頁(yè),在頁(yè)面的左側(cè)就能看到JS代碼的目錄;
  • 找到需要設(shè)置斷點(diǎn)的源文件,在需要中斷的哪行代碼左側(cè)單擊鼠標(biāo)左鍵,就可以設(shè)置斷點(diǎn),如果你的代碼是uglify過(guò)的,則需導(dǎo)入相應(yīng)的source-map來(lái)映射源碼。
  • 刷新頁(yè)面(如果設(shè)置斷點(diǎn)的位置是一個(gè)事件處理函數(shù),則直接觸發(fā)這個(gè)事件即可),代碼運(yùn)行到斷點(diǎn)處的時(shí)候,程序就會(huì)掛起,這時(shí)候用鼠標(biāo)hover就可以查看當(dāng)前各個(gè)變量的數(shù)值,并以此判斷程序是否正常運(yùn)行了。

但是,當(dāng)我們用JavaScript開(kāi)發(fā)運(yùn)行在服務(wù)端的Node.js程序時(shí),Chrome開(kāi)發(fā)者工具暫時(shí)派不上用場(chǎng)了。雖然也有辦法實(shí)現(xiàn)在Chrome上調(diào)試,不過(guò)這不是今天我們討論的范圍。

還有,說(shuō)用console.log的那位同學(xué),請(qǐng)你先不要說(shuō)話...

實(shí)際上,許多IDE都集成了Debug的功能,包括較新版本的WebStorm就對(duì)Node.js調(diào)試支持得很好。

但是很多開(kāi)發(fā)人員會(huì)覺(jué)得IDE太重,有沒(méi)有更輕量級(jí)一些的工具來(lái)實(shí)現(xiàn)斷點(diǎn)調(diào)試呢?今天就要給大家安利一下在VScode上進(jìn)行斷點(diǎn)調(diào)試的方法。

VScode除了out-of-box支持JavaScript和TypeScript,還支持Node.js調(diào)試,簡(jiǎn)直就是為前端工程師而生的,對(duì)不對(duì)...

要調(diào)試Node.js的前提是,你的電腦上已經(jīng)安裝了Node.js的環(huán)境。

什么?怎么安裝Node.js?給你一點(diǎn)小提示:打開(kāi)百度,搜索【安裝Node.js】,好了,不能提示更多了。

本文以調(diào)試express應(yīng)用為例,并假設(shè)您已經(jīng)安裝好了Node.js運(yùn)行環(huán)境。

創(chuàng)建express應(yīng)用

我們使用express-generator創(chuàng)建一個(gè)新的express應(yīng)用。

1.在全局安裝express-generator

a.打開(kāi)終端,輸入:

npm install express-generator -g

MacBook用戶全局安裝的時(shí)候記得在前面加上sudo

b.安裝完成之后,在終端輸入

express -v

如果看到下圖所示的信息,說(shuō)明已經(jīng)安裝成功了。

2.生成express應(yīng)用目錄,假設(shè)這個(gè)應(yīng)用的名稱(chēng)為myapp

在終端輸入

express myapp

在當(dāng)前目錄就生成了一個(gè)myapp目錄,目錄結(jié)構(gòu)如下:

可以看到,這個(gè)小應(yīng)用已經(jīng)五臟俱全,有Node服務(wù)器配置,公共資源文件夾,師徒文件夾,以及路由配置。

3.運(yùn)行express應(yīng)用

a.在終端中輸入指令

cd myapp && npm install

就可以進(jìn)入項(xiàng)目目錄并安裝所有依賴(lài),這一步可能需要比較長(zhǎng)的時(shí)間,耐心等待安裝完成。

b.然后輸入指令

npm start

就可以啟動(dòng)應(yīng)用。

這時(shí)我們?cè)跒g覽器中訪問(wèn)localhost:3000,即可看到如下頁(yè)面:

這就說(shuō)明express應(yīng)用可以正常運(yùn)行,接下來(lái)我們就可以使用VScode調(diào)試代碼了。

提示:為了避免調(diào)試時(shí)的端口沖突,我們先回到剛剛運(yùn)行express應(yīng)用的終端,ctrl+c關(guān)閉正在運(yùn)行的express應(yīng)用。

調(diào)試express應(yīng)用

1.進(jìn)入VScode界面,點(diǎn)擊界面左邊的第四個(gè)類(lèi)似蟲(chóng)子的按鈕,進(jìn)入調(diào)試界面:

2.點(diǎn)擊頁(yè)面上方“沒(méi)有配置”下拉菜單,選擇“添加配置”。

3.選擇Node.js環(huán)境。

4.選擇完成之后,在項(xiàng)目的根目錄中會(huì)生成一個(gè).vscode的目錄,這個(gè)目錄中存放了各種各樣的VScode編輯器的配置?,F(xiàn)在這個(gè)目錄中就包含了一個(gè)文件名為lanuch.json的配置文件,配置文件的內(nèi)容如下:

其中最重要的配置項(xiàng)就是“Program”字段,這個(gè)字段定義了整個(gè)應(yīng)用的入口,開(kāi)啟調(diào)試器的時(shí)候會(huì)從這個(gè)入口啟動(dòng)應(yīng)用。

我們發(fā)現(xiàn)當(dāng)前這個(gè)字段已經(jīng)有值了,不要慌,那是因?yàn)閂Scode在初始化這個(gè)配置文件的時(shí)候,會(huì)查看package.json中是否有包含了鍵名為start的scripts,如果有的話,就會(huì)把start配置的內(nèi)容作為“program”字段的值。

5.點(diǎn)擊開(kāi)始調(diào)試按鈕(綠色三角形),就可以開(kāi)始調(diào)試。這時(shí)界面上方就會(huì)出現(xiàn)一個(gè)調(diào)試控制的面板,頁(yè)面右下方會(huì)出現(xiàn)一個(gè)調(diào)試控制臺(tái),可以查看你輸出的信息,在界面下放會(huì)出現(xiàn)一個(gè)狀態(tài)欄,當(dāng)前的橘黃色表示應(yīng)用在正常運(yùn)行,如下圖所示:

6.我們?cè)俅卧跒g覽中訪問(wèn)localhost:3000,會(huì)發(fā)現(xiàn)頁(yè)面可以打開(kāi),應(yīng)用已經(jīng)正常啟動(dòng)了。

7.接下來(lái)我們開(kāi)始給應(yīng)用設(shè)置斷點(diǎn)。我們打開(kāi)myapp/routes/index.js文件,這個(gè)文件配置了應(yīng)用根路徑的路由,當(dāng)前的處理是返回一個(gè)頁(yè)面,傳入字符串"Express"作為視圖的參數(shù)。

8.我們用鼠標(biāo)在行號(hào)6的左邊單擊左鍵,就可以設(shè)置一個(gè)斷點(diǎn)。注意,添加斷點(diǎn)之前要先關(guān)閉調(diào)試,關(guān)閉的方法是點(diǎn)擊界面上方的調(diào)試控制面板中的停止按鈕(紅色正方形)。

9.設(shè)置完斷點(diǎn)之后,重新啟動(dòng)調(diào)試,然后在瀏覽器中訪問(wèn)localhost:3000,這時(shí)候,斷點(diǎn)的形狀發(fā)生了變化,程序停留在了斷點(diǎn),調(diào)試控制面板的按鈕也發(fā)生了變化,從左到右依次是單步跳過(guò),單步調(diào)試,單步跳出,重啟,停止調(diào)試。這幾個(gè)都是常見(jiàn)的斷點(diǎn)調(diào)試指令。設(shè)置完斷點(diǎn)之后,重新啟動(dòng)調(diào)試,然后在瀏覽器中訪問(wèn)localhost:3000,這時(shí)候,斷點(diǎn)的形狀發(fā)生了變化,程序停留在了斷點(diǎn),調(diào)試控制面板的按鈕也發(fā)生了變化,從左到右依次是單步跳過(guò),單步調(diào)試,單步跳出,重啟,停止調(diào)試。這幾個(gè)都是常見(jiàn)的斷點(diǎn)調(diào)試指令。

10.在界面的左邊,可以查看當(dāng)前上下文環(huán)境,也可以設(shè)置變量監(jiān)聽(tīng)。

11.將鼠標(biāo)防止在斷點(diǎn)前的變量或者參數(shù)上,也可以查看該變量當(dāng)前的數(shù)值,體驗(yàn)與Chrome開(kāi)發(fā)者工具的調(diào)試一致。

Well,開(kāi)啟VScode的Node.js調(diào)試之旅吧??!

那個(gè)console.log的同學(xué),你可以說(shuō)話了...

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node工程的依賴(lài)包管理方式

    Node工程的依賴(lài)包管理方式

    在前端工程化中,JavaScript 依賴(lài)包管理是非常重要的一環(huán)。依賴(lài)包通常是項(xiàng)目所依賴(lài)的第三方庫(kù)、工具和框架等資源,它們能夠幫助我們減少重復(fù)開(kāi)發(fā)、提高效率并且確保項(xiàng)目可以正確的運(yùn)行。本文詳細(xì)介紹了Node工程的依賴(lài)包管理方式,感興趣的同學(xué)可以參考一下
    2023-04-04
  • node.js發(fā)送郵件email的方法詳解

    node.js發(fā)送郵件email的方法詳解

    這篇文章主要介紹了node.js發(fā)送郵件email的方法,結(jié)合實(shí)例形式詳細(xì)分析了node.js發(fā)送郵件的原理、操作步驟、注意事項(xiàng)及常見(jiàn)問(wèn)題解決方法,需要的朋友可以參考下
    2017-01-01
  • node.js實(shí)現(xiàn)簡(jiǎn)單的壓縮/解壓縮功能示例

    node.js實(shí)現(xiàn)簡(jiǎn)單的壓縮/解壓縮功能示例

    這篇文章主要介紹了node.js實(shí)現(xiàn)簡(jiǎn)單的壓縮/解壓縮功能,結(jié)合實(shí)例形式分析了node.js實(shí)現(xiàn)本地文件與服務(wù)器端壓縮/解壓縮相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • koa socket即時(shí)通訊的示例代碼

    koa socket即時(shí)通訊的示例代碼

    這篇文章主要介紹了koa socket即時(shí)通訊的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • nvm版本導(dǎo)致npm?install報(bào)錯(cuò)Unexpected?token?'.'的解決辦法

    nvm版本導(dǎo)致npm?install報(bào)錯(cuò)Unexpected?token?'.'的解決辦法

    最近做項(xiàng)目遇到npm install 的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于nvm版本導(dǎo)致npm?install報(bào)錯(cuò)Unexpected?token?'.'的解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • node.js快速部署vue代碼詳細(xì)步驟

    node.js快速部署vue代碼詳細(xì)步驟

    眾所周知Vue是現(xiàn)在前端最流行的框架之一,作為前端開(kāi)發(fā)人員應(yīng)該要熟練的掌握它,下面這篇文章主要給大家介紹了關(guān)于node.js快速部署vue代碼的詳細(xì)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • Node.js的HTTP模塊、URL模塊與supervisor工具介紹

    Node.js的HTTP模塊、URL模塊與supervisor工具介紹

    這篇文章介紹了Node.js的HTTP模塊、URL模塊與supervisor工具,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 一個(gè)簡(jiǎn)單的node.js界面實(shí)現(xiàn)方法

    一個(gè)簡(jiǎn)單的node.js界面實(shí)現(xiàn)方法

    今天小編就為大家分享一篇一個(gè)簡(jiǎn)單的node.js界面實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Node.js與MySQL交互操作及其注意事項(xiàng)

    Node.js與MySQL交互操作及其注意事項(xiàng)

    這篇文章給大家主要介紹了Node.js與MySQL交互操作及其注意事項(xiàng),非常的詳細(xì),有相同需求的小伙伴可以參考下
    2016-10-10
  • Node.js自動(dòng)生成API文檔的實(shí)現(xiàn)

    Node.js自動(dòng)生成API文檔的實(shí)現(xiàn)

    本文主要介紹了Node.js自動(dòng)生成API文檔,包含基于swagger-jsdoc+swagger-ui-express快速實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03

最新評(píng)論