webpack優(yōu)化 - source-map

source-map是一個信息文件,存儲了轉(zhuǎn)換后每一個代碼的位置,在報錯信息中心會顯示代碼報錯信息在原始代碼中的位置,便于問題定位,提升調(diào)試效率。

source-map文件內(nèi)容:

{
    "version":3,  //版本信息
    "sources":["webpack:///webpack/bootstrap fc177c61f21ce7e0532a"], //轉(zhuǎn)換前的文件
    "names":["parentJsonpFunction","window","chunkIds","moreModules",...], //轉(zhuǎn)換后的所有變量名和屬性名
    "mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,...", //記錄轉(zhuǎn)換前的代碼位置信息
    "file":"static/js/manifest.fbd5a3eebc2aaba3cfff.js", //轉(zhuǎn)換后的文件信息
    "sourcesContent":[" \t// install a JSONP callback for chunk loadi..."], //轉(zhuǎn)換前的文件內(nèi)容
    "sourceRoot":"" //轉(zhuǎn)換前文件目錄,如果轉(zhuǎn)換前后目錄一樣則為空
}

mappings

  • ‘,’: 對應(yīng)轉(zhuǎn)化的一個內(nèi)容。
  • ‘;’: 對象裝轉(zhuǎn)化前的一行內(nèi)容。

mappings 每一個內(nèi)容都是 “XXXXX” 五位字段組成。

  • 第一位: 對應(yīng)轉(zhuǎn)換后代碼的第幾列;
  • 第二位: 對應(yīng)sources屬性中的哪個文件;
  • 第三位: 對應(yīng)轉(zhuǎn)換前代碼的第幾行;
  • 第四位: 對應(yīng)轉(zhuǎn)換前代碼的第幾列;
  • 第五位: 對應(yīng)names屬性中的哪個屬性(可省略,并不是每個);
關(guān)鍵字 說明
eval 使用eval包裹模塊代碼
source-map 產(chǎn)生.map文件
cheap 忽略源代碼的列信息,也不包含loader的sourceMap
module 包含loader的sourceMap
inline 不生成.map文件,將sourceMap內(nèi)嵌到j(luò)s文件中

開發(fā)環(huán)境: 使用內(nèi)聯(lián)->更快 cheap-module-eval-source-map
生產(chǎn)環(huán)境: 使用外聯(lián)->減小js文件體積 cheap-module-source-map

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

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

  • 1、webpack的安裝 本教程是基于最新的webpack4.39.3 版本 注意:webpack是基于node的...
    chang_遇見緣閱讀 536評論 0 1
  • 開始準(zhǔn)備 為了從JavaScript模塊中import一個CSS文件,需要安裝并添加style-loader和cs...
    皮皮坤666閱讀 43,977評論 1 18
  • 今天是星期六,爸爸媽媽領(lǐng)我和姐姐去游樂場玩兒了。玩的玩具好多好多,但是我還是喜歡玩抓娃娃。我抓了一只熊熊,還有兩個...
    f43e83af2a06閱讀 55評論 0 0
  • 最近無錫火了,因為滴滴,美團(tuán),餓了嗎三家在無錫的外賣大戰(zhàn),無錫人民收紅包收到手軟,點外賣點到爆單,大街小巷...
    永不放棄的蝸牛閱讀 259評論 0 0
  • //ajax請求 function ajaxUtils(url, method, async, param, be...
    大橙子zpp閱讀 280評論 0 0

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