如何通过在生产中修改我的代码来修复Webpack?

时间:2016-04-23 18:23:01

标签: javascript reactjs webpack babeljs bitcoin

我正在使用BitcoinJS构建应用程序,并且发现使用-p标志会导致webpack破坏某些部分,从而破坏了生成事务的能力。

我被建议在配置中使用noParsealias,这会使问题变得更糟(整个应用程序根本不会加载)。

到目前为止,除了关闭生产之外,我还没有找到任何解决方法(这会在javascript文件中留下各种奇怪的东西,包括我的本地开发路径)。

此处提供的示例项目(包含安装说明以及如何重现):https://github.com/Someguy123/example-webpack-issue

编辑/更新:@bebraw提供了一个有效的解决方案,如果有其他人希望在实际操作中看到它,则可以在示例项目的fixed分支上找到该解决方案。

1 个答案:

答案 0 :(得分:3)

问题是,在您的情况下,Uglify默认情况下会破坏太多。根据{{​​3}}说明,您需要排除某些名称,如下所示:

plugins: [
    new webpack.optimize.UglifyJsPlugin({
        mangle: {
            except: [
                'Array', 'BigInteger', 'Boolean', 'Buffer',
                'ECPair', 'Function', 'Number', 'Point'
            ]
        }
    })
]

配置插件后使用webpack代替webpack -p

它会使得到的束稍大一点,但它会起作用。

另一种方法是在其他地方单独为 bitcoinjs-lib 生成捆绑包,然后使用它。你也不得不在那里考虑一下,但它会使你的项目更整洁。