每天進(jìn)步一點(diǎn)點(diǎn)——sourcemap

一、sourcemap是什么

首先,sourcemap是一個(gè)存儲(chǔ)了轉(zhuǎn)換前后位置信息的獨(dú)立map文件,這個(gè).map格式的文件與源文件在同一個(gè)目錄下。

二、為什么用sourcemap

在開(kāi)發(fā)完整之后,我們通常會(huì)對(duì)代碼進(jìn)行轉(zhuǎn)換:
常見(jiàn)的幾種代碼轉(zhuǎn)換:
1、壓縮,減體積;
2、合并,少請(qǐng)求;(多個(gè)文件合并成一個(gè)文件,以減少http請(qǐng)求)
3、其他語(yǔ)言編譯為javascript
毫無(wú)疑問(wèn),代碼轉(zhuǎn)換會(huì)導(dǎo)致運(yùn)行代碼和開(kāi)發(fā)代碼出現(xiàn)差異,從而導(dǎo)致debug困難,sourcemap的啟用很好的解決了這種問(wèn)題,它將運(yùn)行代碼和開(kāi)發(fā)代碼的位置對(duì)應(yīng)起來(lái),通過(guò)這個(gè)位置關(guān)系我們可以方便的debug。
這就是使用sourcemap的意義。

三、怎么用sourcemap

1、傳統(tǒng)方式:只需在轉(zhuǎn)換后的代碼尾部添加//@ sourceMappingURL=map文件地址即可
2、Webpack中sourcemap的配置


sourcemap配置.png

從官網(wǎng)的這張截圖可以發(fā)現(xiàn)雖然配置模式很多,但是都是以下幾個(gè)項(xiàng)目的組合:
(1)eval:使用eval包裹模塊代碼
(2)cheap:不包含列信息
(3)source-map:產(chǎn)生.map文件
(4)module:包含loader的sourcemap
(5)inline:將.map作為DataURI嵌入,不單獨(dú)生成.map文件(這個(gè)配置項(xiàng)比較少見(jiàn))
(6)hidden:
(7)nosources:


參考文章:
http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.html
https://segmentfault.com/a/1190000008315937

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 無(wú)意中看到zhangwnag大佬分享的webpack教程感覺(jué)受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,367評(píng)論 7 35
  • 小巷 又彎又長(zhǎng) 沒(méi)有門 沒(méi)有窗 我拿把舊鑰匙 敲著厚厚的墻
    納木措94閱讀 941評(píng)論 16 20
  • 黃昏染上陰翳 夏日的春城下起秋雨 二十歲的玩笑惹了你 江南何幾佩玉與珊跡 時(shí)間是太美的過(guò)客 而我懷疑生活 阿野先生
    阿野先生閱讀 213評(píng)論 0 0
  • 一直想畫個(gè)頭頂長(zhǎng)角的女人,哈哈終于下手畫了,但是一開(kāi)始不太順利,草圖畫的像個(gè)大頭鬼哈哈 開(kāi)始第一遍線稿,本來(lái)是想畫...
    蘋果jack閱讀 1,011評(píng)論 14 23

友情鏈接更多精彩內(nèi)容