V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vevlins
V2EX  ›  前端开发

类似 vue 的经过 webpack 打包后的项目如何实现线上调试?

  •  
  •   vevlins · 2019-04-24 11:42:40 +08:00 · 4281 次点击
    这是一个创建于 1827 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前提如下:

    1. 经过了 webpack 打包,线上环境不带 sourcemap
    2. 通过 code split 分了包,导致有多个 js 文件

    看过几篇文章讲线上调试,似乎有两种方案:

    一种是把 js map 的 url 映射到本地,在 chrome 的 source 面板中查看源代码进行修改调试.

    另外一种是把 js 的 url 映射到本地,在本地修改看页面效果.

    但是有如下问题:

    1. 线上的 js 是打包后的 js,而本地改动是改 vue 组件,那么线上 js 对应的本地 js 是 hot update 后的 js 文件?
    2. 线上打包的 js 是带着戳的如?wefsd3s这样,通过正则捕获 url 吗?
    3. 在 build 的时候仍然开启 sourcemap 选项,只是生成的不发上去?如果是这样,那么浏览器在默认情况下是否不会主动发送 map 请求,只有在开启调试面板的才会发送?

    大家是怎么调试线上的 bug 呢,尤其是一些只在线上才出现的奇怪问题,还有线上的 sourcemap 大家都是如何处理?

    还望不吝赐教!

    4 条回复    2019-04-24 14:19:14 +08:00
    wxsm
        1
    wxsm  
       2019-04-24 11:51:38 +08:00   ❤️ 1
    通常“只在线上出现的问题”都是 build 以后跟 dev server 不一致的问题,这种你在本地 build 一样能找到问题的。
    Raincal
        2
    Raincal  
       2019-04-24 12:14:34 +08:00   ❤️ 1
    可以试试 Sentry
    ODD10
        3
    ODD10  
       2019-04-24 14:17:47 +08:00 via iPhone
    sourcemap
    ODD10
        4
    ODD10  
       2019-04-24 14:19:14 +08:00 via iPhone
    sourcemap 本地跑起来,好像线上也可以使用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1136 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:58 · PVG 06:58 · LAX 15:58 · JFK 18:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.