怎样调试 Webpack 打包好的代码吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NicholasNC
V2EX    webpack

怎样调试 Webpack 打包好的代码吗?

  •  
  •   NicholasNC 2016-06-16 19:29:09 +08:00 17092 次点击
    这是一个创建于 3410 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自学 react+redux ,教程基本上都是用 ES6 写的,并且用 webpack 管理依赖、打包(我的 webpack 是 0 基础,基本不会用,只是看了一些快速入门教程)。

    现在有个困惑,怎样调试 webpack 打包好的代码? webpack 打包好的 bundle.js ,一脸茫然,根本看不懂,更加不用说调试。

    不知大神有没有比较好的建议。指点指点一下小弟

    10 条回复    2016-06-17 22:07:53 +08:00
    learnshare
        1
    learnshare  
       2016-06-16 19:43:31 +08:00
    sourcemap
    NicholasNC
        2
    NicholasNC  
    OP
       2016-06-16 19:53:17 +08:00
    @learnshare 请问具体怎样用,是可以直接作为 webpack 的一个插件吗?
    xwartz
        3
    xwartz  
       2016-06-16 20:07:18 +08:00
    看官方文档 devtool
    bdbai
        4
    bdbai  
       2016-06-16 20:59:56 +08:00 via Android
    用 Webpack 写 React 一定要搭配 webpack-dev-server + react-hot-loader 。在 webpack 配置里面加 devtool: 'source-map' 就可以用浏览器直接调试代码了。
    我最近在写一个 React 项目,你可以参考这个 webpack 开发时的配置 https://coding.net/u/bdbai/p/nthskeys-node/git/blob/master/app/webpack.development.config.js
    plqws
        5
    plqws  
       2016-06-16 21:41:48 +08:00
    楼上正解
    linxl
        6
    linxl  
       2016-06-17 09:12:54 +08:00
    webpack -d + chrome react 插件。
    NicholasNC
        7
    NicholasNC  
    OP
       2016-06-17 16:08:53 +08:00   1
    @bdbai 不好意思,没有及时回复。
    已经尝试,在 webpack 配置里面加 devtool: 'source-map'可以实现断点调试。

    另外,我还发现,在 webpack 中 sourcemap 有多种模式,不同模式的效果不一样,可参考
    https://segmentfault.com/a/1190000004280859
    http://www.jianshu.com/p/c0492554b33c
    我试过一下, eval-source-map 不能实现断电调试, source-map 和 cheap-module-source-map 就没问题
    bdbai
        8
    bdbai  
       2016-06-17 20:46:01 +08:00 via Android
    @NicholasNC Webpack 的文档经常被人吐槽
    楼上说的 Chrome 插件也推荐你试试, React 官方出的,可以审查组件。
    NicholasNC
        9
    NicholasNC  
    OP
       2016-06-17 21:27:34 +08:00
    @bdbai 是的。现在比较大的问题是 Webpack 的细节(虽然网上很多入门教程,但是入门然后就没然后了),
    Webpack 很多细节上还想都没怎么讲,刚刚遇到一个错误
    index.js:51Uncaught Error: locals[0] does not appear to be a `module` object with Hot Module replacement API enabled. You should disable react-transform-hmr in production by using `env` section in Babel configuration. See the example in README: https://github.com/gaearon/react-transform-hmr
    估计是 react-transform-hmr 这个插件的问题,暂时还没有找到解决方法。

    不知道有没有好一点的 Webpack 文档?
    bdbai
        10
    bdbai  
       2016-06-17 22:07:53 +08:00 via Android
    @NicholasNC GitHub 上写这个插件已经被弃用了。建议你用 react-hot-loader 。可以看一下我的配置,链接在 4 楼。
    前两天有人在 V 站上说要翻译 Webpack 文档的,你可以搜一下。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1091 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:14 PVG 02:14 LAX 11:14 JFK 14:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86