私は Angular 2 を初めて使用し、HMR を自分の Angular 2 プロジェクトに実装したいと考えています (ページのリロードまでの待ち時間が非常に混乱するため)。
1 に答える
どのようなビルドツールを使用していますか? Systemjsまたはwebpack?
Webpack を使用している場合、ビルドを高速化するためにできることはほとんどありません (一般に、Webpack は angular チームによって angular2 プロジェクトに推奨されるツールです)。
- アプリケーションをアプリケーション、ベンダー、およびポリフィルの部分に分割します。
コード:
entry: {
app: [ helpers.root('src/main.browser')],
vendor: [helpers.root('src/vendor.browser')],
polyfills: [helpers.root('src/polyfills.browser.ts')]
},
--watch モードを使用すると、繰り返しのビルドが高速化されます -> 変更されたファイルのみがリロードされます。
- 最初のビルドを高速化するには、dll の使用を検討してください -> 動的にリンクされたライブラリ
https://github.com/qdouble/angular-webpack2-starter.gitをご覧ください(このリポジトリは、angular チームによって作成されたものよりも便利なようです)
- この改善を行ったら、いよいよ HMR を実装します。
残念ながら、私は今これを理解しすぎているので、あまり役に立ちません。幸いなことに、前の 2 つの手順により、コンピューターでのビルドが約 20 秒からほぼ瞬時に + ページのリロードまで高速化されるため、合計で約 5 秒になります。
私が提供した git リポジトリへのリンクは、物事を理解するのに役立つはずです。
3 つのセットアップを行う必要があります。1 つはビルド dll、1 つはビルド前の dll を使用する開発ビルド用、3 番目は本番用に最適化されたもので、遅くて面倒ですが、小さな出力ファイルを生成します。