webpack优化 - source-map

source-map是一个信息文件,存储了转换后每一个代码的位置,在报错信息中心会显示代码报错信息在原始代码中的位置,便于问题定位,提升调试效率。

source-map文件内容:

{
    "version":3,  //版本信息
    "sources":["webpack:///webpack/bootstrap fc177c61f21ce7e0532a"], //转换前的文件
    "names":["parentJsonpFunction","window","chunkIds","moreModules",...], //转换后的所有变量名和属性名
    "mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,...", //记录转换前的代码位置信息
    "file":"static/js/manifest.fbd5a3eebc2aaba3cfff.js", //转换后的文件信息
    "sourcesContent":[" \t// install a JSONP callback for chunk loadi..."], //转换前的文件内容
    "sourceRoot":"" //转换前文件目录,如果转换前后目录一样则为空
}

mappings

  • ‘,’: 对应转化的一个内容。
  • ‘;’: 对象装转化前的一行内容。

mappings 每一个内容都是 “XXXXX” 五位字段组成。

  • 第一位: 对应转换后代码的第几列;
  • 第二位: 对应sources属性中的哪个文件;
  • 第三位: 对应转换前代码的第几行;
  • 第四位: 对应转换前代码的第几列;
  • 第五位: 对应names属性中的哪个属性(可省略,并不是每个);
关键字 说明
eval 使用eval包裹模块代码
source-map 产生.map文件
cheap 忽略源代码的列信息,也不包含loader的sourceMap
module 包含loader的sourceMap
inline 不生成.map文件,将sourceMap内嵌到js文件中

开发环境: 使用内联->更快 cheap-module-eval-source-map
生产环境: 使用外联->减小js文件体积 cheap-module-source-map

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、webpack的安装 本教程是基于最新的webpack4.39.3 版本 注意:webpack是基于node的...
    chang_遇见缘阅读 3,297评论 0 1
  • 开始准备 为了从JavaScript模块中import一个CSS文件,需要安装并添加style-loader和cs...
    皮皮坤666阅读 43,923评论 1 18
  • 今天是星期六,爸爸妈妈领我和姐姐去游乐场玩儿了。玩的玩具好多好多,但是我还是喜欢玩抓娃娃。我抓了一只熊熊,还有两个...
    f43e83af2a06阅读 384评论 0 0
  • 最近无锡火了,因为滴滴,美团,饿了吗三家在无锡的外卖大战,无锡人民收红包收到手软,点外卖点到爆单,大街小巷...
    永不放弃的蜗牛阅读 1,643评论 0 0
  • //ajax请求 function ajaxUtils(url, method, async, param, be...
    大橙子zpp阅读 1,774评论 0 0

友情链接更多精彩内容