关于浏览器的source map

1.如果启用了source map,浏览器是不是一开始就把source map文件和源码一起下载回来?如果是这样的话,在开发者工具的network里面没有看到map文件的请求,是因为chrome没有暴露出来吗?

2.或者有另外一个可能,如果源码运行没有报错,浏览器就不会去请求map文件,减少数据传输,是一种优化机制?只有当源码运行报错的时候,才会去下载map文件?

3.map文件本意是为了让压缩过的代码还原,但是如果我为了保护代码,线上不使用map文件;开发环境又不压缩合并代码,那么map文件的实际意义何在?

答:1)。如果使用原生js,map文件的意义只是让压缩过的代码还原,min.js->js,那么确实没有实际意义,线上为了保护代码不用,开发环境不压缩代码,也不需要使用;2)。如果使用jsx写react,流程是从jsx->js,js->min.js的,那么map文件的意义就不只是逆向从min.js->js,还包括从js->jsx的还原,那么开发环境使用map文件还是有意义的,能还原成最初的jsx文件。

你可能感兴趣的:(关于浏览器的source map)