vue源碼分析系列:用sourcemap調試源碼

由於前幾篇文章是用vue-cli直接分析的,今天我們學習直接調試vue源碼。

安裝vue(mac機)

1.在GitHub上克隆官方的vue-地址
2.安裝依賴npm install

修改vue項目

1.在package.json script dev 增加--sourcemap指令

"dev": "rollup -w -c scripts/config.js --environment TARGET:web-full-dev --sourcemap",

2.運行打包命令npm run dev,可能大多數之前用過vue-cli的人都會以爲這裏已經運行了一個本地服務,但其實這個項目中沒有內置的服務。
這時候會在dist目錄下生成vue.js和vue.js.map文件,這兩個文件正是我們調試時所需要的。
3.編輯器打開examples/commits/index.html,將<script src="../../dist/vue.mini.js"></script>修改成<script src="../../dist/vue.js"></script>

創建本地服務

由於--sourcemap指令是要依賴服務才能加載到瀏覽器的如果我們直接打開,它是不生效的。
不生效的例圖:
在這裏插入圖片描述
既然如此我們就先搭建一個本地服務吧;
1.偷懶方式直接利用vscode的插件,創建本地服務
vscode編輯器上安裝live server這個插件,安裝成功後在右下角有一個Go Live的提醒,點擊它就能打開當前文件並放到它創建的服務上了。
在這裏插入圖片描述
利用live server在瀏覽器上運行打開examples/commits/index.html文件,我們可以看到sourcemap已經生效了。
在這裏插入圖片描述
2.安裝比較常用的webpack-dev-server

  npm install webpack-cli webpack-dev-server

在script命令中增加start增加webpack-dev-server 指令

"start": "webpack-dev-server",

然後運行npm run start
雖然報錯的,但不影響本地服務的啓動
在這裏插入圖片描述
同樣可以啓用sourcemap
在這裏插入圖片描述
記住你每次修改源碼是用npm run dev這命令打包的,當然它有熱更新功能,npm run start只是啓動了本地服務,所以你可能需要啓動兩個進程來分別控制

手動debugger

我們除了可以在瀏覽器上進行debugger之外,還能在代碼中直接寫debugger
比如我們想試試src/core/index.js
在這裏插入圖片描述
重新打包後,用瀏覽器再次運行,就會馬上進入debugger模式,直接定位到剛剛我們寫有debugger的地方
在這裏插入圖片描述

結語

這樣你就可以一步步看完所有vue源碼了,呵呵,開玩笑的,你看不完~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章