前提如下:
- 经过了 webpack 打包,线上环境不带 sourcemap
- 通过 code split 分了包,导致有多个 js 文件
看过几篇文章讲线上调试,似乎有两种方案:
一种是把 js map 的 url 映射到本地,在 chrome 的 source 面板中查看源代码进行修改调试.
另外一种是把 js 的 url 映射到本地,在本地修改看页面效果.
但是有如下问题:
- 线上的 js 是打包后的 js,而本地改动是改 vue 组件,那么线上 js 对应的本地 js 是 hot update 后的 js 文件?
- 线上打包的 js 是带着戳的如
?wefsd3s这样,通过正则捕获 url 吗? - 在 build 的时候仍然开启 sourcemap 选项,只是生成的不发上去?如果是这样,那么浏览器在默认情况下是否不会主动发送 map 请求,只有在开启调试面板的才会发送?
大家是怎么调试线上的 bug 呢,尤其是一些只在线上才出现的奇怪问题,还有线上的 sourcemap 大家都是如何处理?
还望不吝赐教!