2016-04-23 89 views
2

我正在使用BitcoinJS构建一个应用程序,并发现使用-p标志会导致webpack破坏某些部分,从而破坏生成事务的能力。如何解决Webpack在生产中损坏我的代码?

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

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

可用这里(与安装指令,以及如何再现)实施例项目:https://github.com/Someguy123/example-webpack-issue

EDIT/UPDATE:@bebraw提供了一个工作溶液,其可在该示例中的fixed分支项目,如果任何人想要看到它的行动。

回答

3

问题是Uglify默认情况下在你的情况下损坏太多。按照bitcoinjs-lib说明,你需要排除这样的特定名称:

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

使用webpack,而不是webpack -p配置插件后。

它会使得到的包变大一点,但它会起作用。

另一种替代方法是单独为bitcoinjs-lib生成捆绑包,然后使用它。你也必须考虑到这个问题,但它会让你的项目更加整洁。

相关问题