2016-04-23 6 views
2

BitcoinJSを使用してアプリケーションを構築していて、-pフラグを使用すると、webpackは特定の部分をマングル化し、トランザクションを生成する能力を壊すことが判明しました。Webpackのコードを本番環境でmanglingするのを修正するにはどうすればよいですか?

noParsealiasをconfigに設定すると、問題が悪化しました(アプリケーション全体がまったく読み込まれません)。

これまでのところ、プロダクションをオフにする以外の解決策はありませんでした。これは、ローカル開発パスを含め、javascriptファイル内のあらゆる種類の奇妙なものを残しています。 (説明書をインストールし、そして再現する方法)ここにあり

例プロジェクト:https://github.com/Someguy123/example-webpack-issue

EDIT/UPDATE:@bebrawは、例のfixedブランチで提供されています実用的なソリューションを、提供してきました他の誰かがそれを実際に見たいと思ったら、プロジェクトに参加してください。

答えて

3

問題は、デフォルトでは、あなたのケースでは、あまりにも多くのマングルがマングル化することです。プラグインを設定した後

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

利用webpack代わりのwebpack -pbitcoinjs-lib指示に従って、あなたはこのような特定の名前を除外する必要があります。

結果のバンドルが少し大きくなりますが、うまくいきます。

もう1つの方法は、別の場所でbitcoinjs-libのバンドルを別々に生成し、それを代わりに消費することです。そこにもマングリングを考慮する必要がありますが、それはあなたのプロジェクトを少しきれいに保つでしょう。

関連する問題