2016-11-13 10 views
8

私はwebpack 2を角度で設定していますが、ほとんどの場合動作します。それはtree-shakingを実行しますが、私はほとんど何もしないアプリを持っているので、vendor.jsはまだ800 + KBですので、それは思われません。webpack 2とtypescriptとangular 2でtree-shakingを使用するには?

ツリーを振る方法についてはほとんど情報がありませんが、ES6モジュールでは自動的にオンになっていますが、ES5では機能しません。そうですか?

そして最も重要なこと:webcap2でtypescript/angular2にツリーシェイキングを適用するにはどうすればよいですか?

+0

はい、CJSモジュール(ES5モジュールはありません)では動作しません。また、ES6モジュール用である必要があります。これは主にWebpackの質問であるため、問題を再現するレポが役立ちます。 [木が揺れている蒸したTSクラスに問題があるかもしれません](https://github.com/mishoo/UglifyJS2/issues/1261)。 – estus

+0

@estusまあ、それはうまくいくかもしれませんが、私は目的に何かをオンにしませんでした。それが動作するかどうかを確認する簡単な方法はありますか? –

+0

縮小されたJS出力で未使用のクラスが存在するかどうかを確認します。 – estus

答えて

4

私はこれを行う方法について例を挙げてこの非常に良いと判断しました。repository

そこに記載されているように、質問には、明らかに、木の揺れを防ぐバグがあります。それは今実際に"target": "es5"で行うことができないことを意味するようです。

es2015を使用できますが、ブラウザでサポートされるまで、es5にコンパイルするにはいくつかの追加手順(例:Babel経由)が必要です。

+1

バビルがなぜ 'es5'に戻ってくる必要がありますか? AFAIK TypeScriptはconfigに 'target'設定を持っています。これはどのバージョンに変換されるのかを指示します。 – tftd

+0

それはありますが、少なくとも書面の時点では、ツリーの振る舞いをするのに十分ではないコードを生成しました。多くの詳細を覚えていないと、おそらくそれは今も良いです。 –

+0

返信いただきありがとうございます!私は現在、それをうまく動作させることに苦労しています。それは仕事にそれを得るために大きな頭痛だ... :) – tftd

関連する問題