sourcemap
target
解决通常用于性能优化将代码压缩后定位问题困难,在客户端代码不影响性能的前提下使源代码更加的具有可读性和更易调试,为此应运而生。
what
储存位置信息的json文件。就是这么简单,删繁就简三秋树。
1 | { |
support
主流浏览器都默认支持。例如chrome中的devtools可对于sourcemap进行设置。
how to work
只要解析引擎支持,Closure compiler将生成sourcemap, 合并和压缩都会生成的sourcemap文件。除非你关闭了你浏览器的devtools中的enable sourcemap。你的工作就是在处理后的代码加一行代码
1 | //# sourceMappingURL=vue.js.map |
读取到对应位置的sourcemap文件,然后解析储存位置信息的该文件。读取到转换后的代码的每一个位置,所对应的转换前的位置。解析原理可看链接。
how to use
- webpack
- rollup
- uglyfyjs
- Closure编译器
- …
生成sourcemap后,打开浏览器就可以欢快的调试源码了。