bootstrap.min.js.map是什么文件

JavaScript09

bootstrap.min.js.map是什么文件,第1张

sourcemap文件是js文件压缩后,文件的变量名替换对应、变量所在位置等元信息数据文件

一般这种文件和min.js主文件放在同一个目录下。比如压缩后原变量是map,压缩后通过变量替换规则可能会被替换成a,这时sourcemap文件会记录下这个mapping的信息,这样的好处就是说,在调试的时候,如果有一些JS报错,那么浏览器会通过解析这个map文件来重新merge压缩后的js,使开发者可以用未压缩前的代码来调试,这样会给我们带来很大的方便!而这种还原性调试功能,目前只有chorme才具有,所以就会出现标题说的问题。

引入jquery-1.10.2.min.js的时候,在firefox下或者其他浏览器下是好的,在chorme下会报错找不到jquery-1.10.2.min.map文件,404,就是因为以上说的情况,jquery会检测浏览器是否支持sourcemap功能,如果支持的话,那就去下载sourcemap文件,而这个时候如果你引用的是官网的min.js那没问题,它会去自己的目录下找sourcemap文件,而如果jquery.min.js文件在你的服务器上而服务器上又没有sourcemap的话,那就会报错了,所以三种解决办法:

一,引用官网文件

二,把sourcemap文件下载下来放到服务器上(推荐)三,把chorme文件的工具_>开发者工具_>设置_>Enablesourcemaps勾去掉,去掉这个勾,jquery就不会去下载sourcemap文件了。

1.JavaScript 的对象(Object),本质上是键值对的集合(Hash结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。

2.类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。

3.如果对同一个键多次赋值,后面的值将覆盖前面的值。

4.只有对同一个对象的引用,Map 结构才将其视为同一个键。Map 的键实际上是跟内存地址绑定的,只要内存地址不一样,就视为两个键。这就解决了同名属性碰撞(clash)的问题。

5.如果 Map 的键是一个简单类型的值(数字、字符串、布尔值),则只要两个值严格相等,Map 将其视为一个键.

源代码h5course.js文件经过uglify压缩之后变为h5course.min.js;同时会生成一个文件叫做h5course.js.map,这个map文件描述了代码压缩前后的映射关系

当在线上JS代码出了bug之后,map文件用于查找问题是很有用的,因为压缩后的代码经过了一系列处理几乎是看不懂的(变量名被替换了,代码压缩成一行了等)。