2016-04-23 102 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生成捆綁包,然後使用它。你也必須考慮到這個問題,但它會讓你的項目更加整潔。

相關問題