[解決済み] Angularアプリを本番用にバンドルする方法
2022-03-26 04:11:41
質問
Angular(バージョン2、4、6、...)をライブのウェブサーバー上で本番用にバンドルするための最良の方法は何でしょう。
回答にはAngularのバージョンを含めてください。
解決方法は?
2 to 13
(TypeScript)をAngular CLIで使用する
一回限りのセットアップ
-
npm install -g @angular/cli
-
ng new projectFolder
新しいアプリケーションを作成します
バンドルステップ
-
ng build
(コマンドラインでの実行は、ディレクトリがprojectFolder
).フラグ
prod
バンドルがデフォルトになりました ( Angularのドキュメント を使用して、必要に応じてカスタマイズしてください)。 -
を使用して圧縮します。 ブロートリ圧縮 は、次のコマンドを使用してリソースを取得します。
for i in dist/*/*; do brotli $i; done
バンドルは、デフォルトで
projectFolder/dist(/$projectFolder
v6+の場合)
**
出力
Angularを使用したサイズ
13.2.4
CLIを使用した場合
13.2.4
およびAngularルーティングを使用しないオプションCSS
-
dist/main-[es-version].[hash].js
バンドルされているあなたのアプリケーション [ ES5 size: 132 KB for new Angular CLI application empty, 39 KB 圧縮]されています。 -
dist/polyfill-[es-version].[hash].bundle.js
ポリフィルの依存関係 (@angular, RxJS...) がバンドルされています [ ES5 サイズ: 新しい Angular CLI アプリケーションで 37 KB 空です。 12 KB 圧縮]されています。 -
dist/index.html
アプリケーションのエントリポイントです。 -
dist/runtime-[es-version].[hash].bundle.js
ウェブパックローダ -
dist/style.[hash].bundle.css
スタイル定義 -
dist/assets
Angular CLIのassets設定からコピーされたリソース
デプロイメント
を取得することができます。
プレビュー
を使用して、アプリケーションの
ng serve --prod
コマンドを実行すると、ローカルの HTTP サーバーが起動し、本番ファイルを含むアプリケーションに http://localhost:4200 でアクセスできるようになります。
これは本番使用には安全ではありません。
実運用では、すべてのファイルを
dist
フォルダを任意のHTTPサーバーに設置します。
関連
-
[解決済み] Angular HTMLバインディング
-
[解決済み] モジュール "@angular-devkit/build-angular" が見つかりませんでした。
-
[解決済み] Angular 2+でngShowとngHideに相当するものは何ですか?
-
[解決済み] Angularで変更検知を手動でトリガーする
-
[解決済み] AngularでNameServiceのプロバイダがない
-
[解決済み] Angularでは、アクティブなルートをどのように決定するのですか?
-
[解決済み】Angularアプリのデプロイはどうやるの?
-
[解決済み] Angular 2.0のルーターがブラウザーの再読み込みで動作しない件
-
[解決済み] prodのバンドルサイズを小さくするには?
-
[解決済み] Angular anプロジェクトで画像(およびその他の資産)を読み込むにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ルーターリンク]と[ルーターリンク]の違いについて
-
[解決済み] コンポーネントテンプレートで要素を選択するには?
-
[解決済み] Angularプロジェクトごとに生成される膨大な数のファイル
-
[解決済み] Angular 2の "select "で新しい選択範囲を取得するにはどうすればよいですか?
-
[解決済み] Angular 2のキープレスごとの変更イベント
-
[解決済み】プロパティ「of」が「typeof Observable」型に存在しない【重複
-
[解決済み] Angular 2.0のルーターがブラウザーの再読み込みで動作しない件
-
[解決済み] Angular 6 素材マットセレクトの変更方法が削除されました。
-
[解決済み] ナンバーパイプ - Angular 2のパラメータは?
-
[解決済み] ファイル 'app/hero.ts' is not a module error in console, where to store interfaces files in directory structure with angular2?