当我们使用jquery.min.js时经常会出现
jQuery's jquery-1.10.2.min.map is triggering a 404 (Not Found)的错误(主要是使用chrome的开发者)
mini.map是什么?
min.map文件是在js为压缩文件时,为还原原有未压缩js文件中相关变量而存在的伴侣文件,部分浏览器实现了该技术,如chrome,因此在这些浏览器中请求压缩的js时便会请求source map即mini.map文件,这些浏览器应该都有开关可以控制是否进行source map文件请求,chrome就有这个开关;
压缩的js如何匹配min.map?
压缩的js中会增加一个注释行来指定所需的min.map;
//@ sourceMappingURL=jquery-1.10.2.min.map
知道了如上信息,当出现jQuery's jquery-1.10.2.min.map is triggering a 404 (Not Found)错误时,我们可以有如下方法来解决这个问题;
- 1.使用非压缩的js文件,但是非压缩js较大,会影响传输速度;
- 2.从jquery官网下载min.map文件,chrome默认打开了source map下载开关,这种情况下的下载量也会大于单个压缩js文件,并且会产生min.map文件下载的开销;
- 3.自己创建一个空的min.map文件,名字命名为压缩js中的min.map文件名称,这种情况下回产生一次额外的min.map下载开销,与从官网下载不同的是,只会产生网络链接开销,文件传输开销可以忽略;
- 4.浏览器关闭下载source map选项,掩耳盗铃的方式,普通的chrome用户是不会去关闭这个选项的因此还会报警;
- 5.从压缩的js中删除min.map文件引用,即删除注释//@ sourceMappingURL=jquery-1.10.2.min.map,这是一个最优方案;