sourceMap

js代码混淆后调试不方便,在压缩的时候生成**sourceMap源码**供浏览器调试使用。

三种使用方法

手动指定

  • 在控制台source Tab中选中压缩代码
  • 右键选择使用source map,输入source map地址,一般是同名文件后缀加个.map。
  • source map加载完毕后,浏览器会根据source map内容去服务器拉取对应的源文件(未压缩版本)(所以服务器上得有这个source map和源码

压缩文件标记

在压缩代码的最后一行加上//# sourceMappingURL = /path/to/file.map,打包工具经常干这个事。

服务器返回响应头

在响应头里加上X-sourceMap,好像是这么拼的,无所谓了一般不会这么用。

线上定位

  1. 开发环境:
    • 开发环境可以上传sourceMap到资源服务器。
  2. 生产环境:
    • 生产环境不能上传sourceMap,一般都是单独上传sourceMap到错误收集平台。
    • 比如 sentry 就提供了一个 sentry webpack plugin,支持在打包完成后把 sourcemap 自动上传到 sentry 后台,然后把本地 sourcemap 删掉。还提供了 sentry-cli 让用户可以手动上传。

https://juejin.cn/book/6946117847848321055/section/6947678220401508392