一、sourcemap是什么
首先,sourcemap是一個存儲了轉換前后位置信息的獨立map文件,這個.map格式的文件與源文件在同一個目錄下。
二、為什么用sourcemap
在開發完整之后,我們通常會對代碼進行轉換:
常見的幾種代碼轉換:
1、壓縮,減體積;
2、合并,少請求;(多個文件合并成一個文件,以減少http請求)
3、其他語言編譯為javascript
毫無疑問,代碼轉換會導致運行代碼和開發代碼出現差異,從而導致debug困難,sourcemap的啟用很好的解決了這種問題,它將運行代碼和開發代碼的位置對應起來,通過這個位置關系我們可以方便的debug。
這就是使用sourcemap的意義。
三、怎么用sourcemap
1、傳統方式:只需在轉換后的代碼尾部添加//@ sourceMappingURL=map文件地址即可
2、Webpack中sourcemap的配置
sourcemap配置.png
從官網的這張截圖可以發現雖然配置模式很多,但是都是以下幾個項目的組合:
(1)eval:使用eval包裹模塊代碼
(2)cheap:不包含列信息
(3)source-map:產生.map文件
(4)module:包含loader的sourcemap
(5)inline:將.map作為DataURI嵌入,不單獨生成.map文件(這個配置項比較少見)
(6)hidden:
(7)nosources:
參考文章:
http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.html
https://segmentfault.com/a/1190000008315937