JavaScript的Source Map (sourceURL / sourceMappingURL)

这两天完成了自己的个人任务,准备学习一下前辈们的经验教训,在项目组的文档中发现了一个要求注意的点,如下:

Js文件的开头可以加上类似“//@ sourceURL=jquery.extends.js”,方便调试的时候找到代码。

过去在编写代码的时候从未遇到过这个东西,发现后查了一下,知道了这个东西其实是JavaScript的Source Map(源映射) (sourceURL / sourceMappingURL)。那么他是用来干嘛用的呢?
简单的说,源映射是用来为压缩后的代码调试提供方便的。我们知道,为了提高性能,很多网站都会将js代码先压缩再上线,上线之后一旦js出现了问题报错时浏览器只会显示错误位置在已压缩文件中的位置,但是压缩后的js文件也就两三行的样子,每一行都有上万的字符,这个时候报错说第一行有问题,我们怎么能看出来在第一行的哪个位置有问题呢?这样浏览器的错误提示对我们调试而言并没有什么意义。纵使我们费力的找出了报错所在的位置,这个时候我们看到的也是如下样子的代码:

getJSON:function(e,t,n){return b.get(e,t,n,"json")}

但是参数e、t、n是干嘛用的我们也不知道(压缩会把变量等缩写了,从而不能见名知意)。这个时候源映射就可以起到作用了。源映射(Source Map)是一种数据格式,它存储了源代码和生成代码之间的位置映射关系源映射一般使用 .map 扩展名,源映射本质是一个 JSON 文本文档,其 MIME 类型也一般设为 application/json。
我们先直击使用方法再去详解Source Map。那么如何使用源映射呢?
就像文档中所说的那样:在js文件中加上类似于//@ sourceURL=jquery.extends.js的代码,浏览器(最新版 Chrome、Firefox 和 Edge 均支持)就会加载 jquery.extends.js 并自动计算代码的实际位置。在 Chrome 开发面板(按F12打开)的设置(按F1打开)中,可以通过勾选 "Enable Source Maps" 选项来设置是否需要加载源映射。源映射本身并不会影响代码的执行,只会在定位错误位置时被使用。

图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值