VSCode launch.json配置詳細(xì)教程
以下為vscode 的node.js debugger 的 launch.json 配置詳情:
啟動(dòng)配置必須設(shè)定請(qǐng)求類型,屬性request , 分為launch(啟動(dòng)) 和 attach(附加)兩種 ,看下面例子:
{ "version": "0.2.0", "configurations": [ { ... "request": "launch", //請(qǐng)求類型為啟動(dòng) }, { ... "request": "attach", //請(qǐng)求類型為附加 } ] }
下面是launch 和 attach 類型共有的屬性:
protocol
設(shè)置調(diào)試協(xié)議auto
嘗試自動(dòng)檢測(cè)目標(biāo)運(yùn)行時(shí)使用的協(xié)議inspector
新的V8調(diào)試器協(xié)議,解決遺留版本的多數(shù)問(wèn)題,node versions >= 6.3 and Electron versions >= 1.7.4.legacy
原始的v8調(diào)試器協(xié)議,node versions < v8.0 and Electron versions < 1.7.4.port
調(diào)試使用的端口address TCP/IP
地址,用于遠(yuǎn)程調(diào)試localRoot
遠(yuǎn)程調(diào)試時(shí)映射的本地地址remoteRoot
遠(yuǎn)程調(diào)試時(shí)的遠(yuǎn)程目錄地址sourceMaps
默認(rèn)為trueoutFiles
當(dāng)map文件不在js文件同目錄時(shí)用于指定 sourceMaps的位置restart
自動(dòng)重啟調(diào)試timeout
配置自動(dòng)附加的超時(shí)時(shí)間stopOnEntry
自動(dòng)斷點(diǎn)到第一行代碼處smartStep
自動(dòng)跳過(guò)未映射到源代碼的代碼skipFiles :[]String
,指定跳過(guò)單步調(diào)試的代碼
"skipFiles": [ "${workspaceFolder}/node_modules/**/*.js", //跳過(guò)node_modules "${workspaceFolder}/lib/**/*.js",//跳過(guò)lib "<node_internals>/**/*.js"http://跳過(guò)node核心模塊 ]
trace啟用診斷輸出
以下是特定于類型 launch(啟動(dòng))的配置屬性:
program
指定調(diào)試入口文件地址args :[]String
傳遞給程序的參數(shù),可在process.argv拿到cwd
指定程序啟動(dòng)調(diào)試的目錄 ,當(dāng)vscode啟動(dòng)目錄不是項(xiàng)目根目錄,并且調(diào)試npm script時(shí)非常有用runtimeExecutable
設(shè)置運(yùn)行時(shí)可執(zhí)行文件路徑,默認(rèn)是node- 可以是其他的執(zhí)行程序,如npm、nodemon
runtimeArgs
傳遞給運(yùn)行時(shí)可執(zhí)行文件的參數(shù),例如:
{ "type": "node", "request": "launch", "name": "npm launch app", "args":["a"], "runtimeExecutable": "npm", "runtimeArgs": [ "run-script", "app", "b" ], "port": 6666 }
打印參數(shù)可以發(fā)現(xiàn) args 、runtimeArgs都會(huì)傳給程序,但是runtimeArgs參數(shù)會(huì)緊跟可執(zhí)行文件
runtimeVersion
設(shè)置運(yùn)行時(shí)可執(zhí)行程序的版本,如果使用nvm
,可以切換node.js版本env
添加額外的環(huán)境變量envFile
文件加載環(huán)境變量console
配置終端可以是外部終端或者內(nèi)部集成終端,默認(rèn)值internalConsole
outputCapture
-如果設(shè)置為std,則進(jìn)程stdout / stderr的輸出將顯示在調(diào)試控制臺(tái)中,而不是偵聽(tīng)調(diào)試端口上的輸出。這對(duì)于直接寫(xiě)入stdout / stderr
流而不是使用console.*API的程序或日志庫(kù)很有用。autoAttachChildProcesses
跟蹤調(diào)試對(duì)象的所有子過(guò)程,并自動(dòng)附加到在調(diào)試模式下啟動(dòng)的子過(guò)程
以下是特定于類型 attach
(附加)的配置屬性:
processId
指定nodejs進(jìn)程id,由于每次啟動(dòng)都會(huì)變,傳入"${command:PickProcess}
"
questions:
1. 如果使用了符號(hào)鏈接怎么調(diào)試?
傳遞參數(shù):
{ "runtimeArgs": ["--preserve-symlinks"] }
如果主腳本也在符號(hào)鏈接路徑里面,需要再傳遞一個(gè)參數(shù)"--preserve-symlinks-main
",支持的版本是 Node 10+.
2. 如何調(diào)試ECMAScript
模塊?
如果使用esm或傳遞--experimental-modules
給Node.js以便使用ECMAScript模塊,則可以傳遞這些選項(xiàng)通過(guò)runtimeArgs屬性:
- "
runtimeArgs" : ["--experimental-modules"]
-使用Node v8.5.0 +中的實(shí)驗(yàn)性ECMAScript模塊支持 "runtimeArgs" : ["-r", "esm"]
-使用esm ES模塊加載器(請(qǐng)注意,["-r esm"]如果沒(méi)有逗號(hào),則無(wú)法使用)
總結(jié)
到此這篇關(guān)于VSCode launch.json配置詳細(xì)教程的文章就介紹到這了,更多相關(guān)VSCode launch.json配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Node.js發(fā)起HTTP請(qǐng)求的6種不同方法小結(jié)
本文主要介紹了Node.js發(fā)起HTTP請(qǐng)求的6種不同方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03package.json的版本號(hào)更新優(yōu)化方法
這篇文章主要為大家介紹了package.json的版本號(hào)更新優(yōu)化方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04Node.js 回調(diào)函數(shù)實(shí)例詳解
這篇文章主要介紹了Node.js 回調(diào)函數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07Nodejs開(kāi)發(fā)grpc的實(shí)例代碼
Nodejs開(kāi)發(fā)grpc包含靜態(tài)和動(dòng)態(tài)兩種代碼生成方式,靜態(tài)代碼生成需要提前通過(guò).proto文件編譯生成JS源碼,而動(dòng)態(tài)代碼生成則是在運(yùn)行時(shí)指定IDL文件位置,實(shí)時(shí)生成源碼,兩者各有優(yōu)缺點(diǎn),本文給大家介紹Nodejs開(kāi)發(fā)grpc的實(shí)例代碼,感興趣的朋友一起看看吧2024-10-10Node.js中的process.nextTick使用實(shí)例
這篇文章主要介紹了Node.js中的process.nextTick使用實(shí)例,nextTick函數(shù)有什么用、怎么用、和setTimeout有什么區(qū)別呢,本文就講解了這些知識(shí),需要的朋友可以參考下2015-06-06node.js學(xué)習(xí)筆記之koa框架和簡(jiǎn)單爬蟲(chóng)練習(xí)
這篇文章主要介紹了node.js學(xué)習(xí)筆記之koa框架和簡(jiǎn)單爬蟲(chóng)練習(xí),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12node.js部署之啟動(dòng)后臺(tái)運(yùn)行forever的方法
今天小編就為大家分享一篇node.js部署之啟動(dòng)后臺(tái)運(yùn)行forever的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05編譯打包nodejs服務(wù)代碼如何部署到服務(wù)器
這篇文章主要介紹了編譯打包nodejs服務(wù)代碼如何部署到服務(wù)器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù)
這篇文章主要為大家介紹了NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06nodejs實(shí)現(xiàn)套接字服務(wù)功能詳解
這篇文章主要介紹了nodejs實(shí)現(xiàn)套接字服務(wù)功能,簡(jiǎn)單描述了套接字的概念、功能,并結(jié)合實(shí)例形式分析了nodejs使用socket對(duì)象創(chuàng)建及使用套接字進(jìn)行數(shù)據(jù)傳輸相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-06-06