导致jquery.min.map 404 (Not Found)错误的原因

1.报错找不到jquery.min.map

当打开引入jQuery脚本的页面时,在Chrome的控制台中报了“GET http://localhost/libs/jquery.min.map 404 (Not Found)”的错误。 刚开始以为是Chrome安装插件导致的错误,可是把引入换成jQuery开发版本时,错误就不见了。并且只有Chrome会有这个错误提示,FireFox、IE不会报错。Chrome 自行开启了Enable source maps 的选项但你又沒有放Source map 导致找不到。 后来发现原来是jQuery脚本中 "//@ sourceMappingURL=jquery-1.10.2.min.map" 这一行惹的祸。如果是布置到生产环境中去,你可以把上面那行代码直接删掉。如果是在开发环境中,你应该下载jquery-1.10.2.min.map文件,放到jQuery同级目录中去(需要对应的source map文件)。
    如果想关掉错误提示,还可以在Chrome的Developer Tools的Setting中将Enable source maps取消选中。

2.解决办法

解決方式1:

将 Developer Tools ->设置 Enable source maps 关闭;

解決方式2:

下载同一版本的source maps跟jquery.js同目录;

source maps 会跟 jquery 同位置

Jquery 位置 http://code.jquery.com/jquery-1.10.2.min.js

source maps位置 http://code.jquery.com/jquery-1.10.2.min.map

3.什么是Source Map

Source map就是一个Json格式的信息文件,里面储存着位置信息。也就是说,它是压缩后Js的一个字典文件。有了它,出错的时候,调试工具将直接显示原始代码,而不是压缩后的代码。这无疑给开发者带来了很大方便因为是Google自定义的规则,暂时只有基于Chromium开发的浏览器支持这个功能。

比如压缩前原变量是map,压缩后通过变量替换规则可能会被替换成a,这时source map文件会记录下这个mapping的信息,这样的好处就是说,在调试的时候,如果有一些JS报错,那么浏览器会通过解析这个map文件来重新merge压缩后的js,使开发者可以用未压缩前的代码来调试,这样会给我们带来很大的方便!

  而这种还原性调试功能,目前只有chorme才具有,所以就会出现标题说的问题,我引入jquery-1.10.2.min.js的时候,在firefox下或者其他浏览器下是好的,在chorme下会报错找不到jquery-1.10.2.min.map文件,404,就是因为以上说的情况。jquery会检测浏览器是否支持source map功能,如果支持的话,那就去下载source map文件,而这个时候如果你引用的是官网的min.js那没问题,它会去自己的目录下找source map文件,而如果jquery.min.js文件在你的服务器上而服务器上又没有source map的话,那就会报错了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值