Sources
選項,默認顯示的是Page
標籤。而後找到須要調試的源碼文件webpack
處理的頁面,而且開啓了源碼映射,源碼就是在webpack://
下面。可經過快捷鍵ctrl+ o
打開搜索框輸入文件名搜索源碼VM
開頭。上述狀況,大部分都是由於瀏覽器顯示的源碼版本,跟真正的源碼文件不一致,只須要刷新一下頁面,保證顯示的源碼是最新的便可console.log
了。在須要調試的那一行代碼前加上console.log(666)
,而後運行一次,到控制檯查看結果輸出,點擊右邊的連接會自動跳轉到源碼,這樣就能夠直接斷點了Filesystem
添加文件夾到工做路徑,選擇以後會有提示,點擊接受。若是你的谷歌瀏覽器沒有這玩意,請升級版本,仍是沒有的話,請忽略這段話。雖然不知道這是何時出的功能,可是我偶然發現的,它能夠編輯以後真的保存到文件,這個能夠當編輯器用了。debugger
關鍵字,代碼運行到的時候會自動停下,進入調試模式VSCode
的「Debugger for Chrome」擴展,推薦。感受就是上面的第一種方式,只不過將源碼映射到本地源碼,並在編輯器上顯示。簡單介紹下步驟:
webpack
配置添加devtool:'source-map'
開啓源碼映射。// Vue CLI 3.X module.exports = { configureWebpack: { devtool: "source-map" } };
launch.json
不會出現),選擇Chrome。在launch.json
中的配置以下。其中url
是打開瀏覽器以後訪問的地址,webRoot
是app.js
、main.js
等入口文件所在目錄,後面兩個是實驗性功能(高級功能,鼠標懸停在上面會有說明){ "version": "0.2.0", "configurations": [ { "type": "chrome", "request": "launch", "name": "啓動 Chrome 並打開 localhost", "url": "http://localhost:8080", "webRoot": "${workspaceFolder}/src", "breakOnLoad": true, "sourceMapPathOverrides": { "webpack:///src/*": "${webRoot}/*" } } ] }
npm start
、npm dev
或者npm serve
其中一個命令(具體是哪個能夠查看package.json
的scripts
節點)運行項目F5
啓動調試,一切正常的話將會命中你的斷點VSCode
斷點調試:在打開的谷歌瀏覽器的開發工具源碼斷點調試一次(或者加關鍵字debugger
觸發調試,參考上面方式一),運行到斷點處VSCode
會自跳出一個緩存的源碼頁來進行調試。另外,基於以上狀況,若是在VSCode
調試的顯示的源碼跟真的源碼不一樣,那麼就是源碼映射不正確,上面的配置webRoot
不正確。即便不正確,經過這個騷操做同樣能夠在VSCode
調試,就是不太優雅,效果以下:這種方式歸爲調試nodejs,能夠調試webpack
配置,或者後端運行的node實例。javascript
這種方式是在啓動node的時候加上--inspect
,開啓V8 Inspector功能,經過WebSockets
通訊,調試器鏈接便可調試,更多調試器參考官方文檔。如下是幾個示例:html
vue.config.js
,能夠在調試查看配置,這樣即便看不懂文檔也能夠按照本身的想法來寫配置,甚至根本不用在看文檔。使用方式是在VSCode
配置以下,兩種配置等效。調試webpack.config.js
同理,將啓動文件替換便可,可查看package.json
的scripts
節點對應命令肯定啓動文件{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "args": [ "serve" ], "program": "${workspaceFolder} /node_modules/@vue/cli-service/bin/v ue-cli-service. js"//client-app/src/aspnet-dev.js" }, { "type": "node", "request": "launch", "name": "Launch via NPM", "runtimeExecutable": "node", "runtimeArgs": [ "--inspect-brk=9229", ". /node_modules/@vue/cli-service/b in/vue-cli-service.js", //"./client-app/src/aspnet-dev. js", "serve" ], "autoAttachChildProcesses": true, "port": 9229 } ] }
連接:http://www.imooc.com/article/246860前端