[解決済み】Angularアプリのデプロイはどうやるの?
質問
Angularアプリが本番環境に到達したら、どのようにデプロイしますか?
私がこれまで見てきたすべてのガイド(たとえそれが angular.io しかし、開発が完了した後、どのようにアプリを公開することができますか?
コンパイルされた
.js
ファイルを
index.html
ページで、あるいはgulpを使ってminifyするのでしょうか?うまくいきますか?製品版ではSystemJSは全く必要ないのでしょうか?
解決方法は?
実は、あなたはここで2つの質問に1つずつ触れているのです。
1つ目
は
アプリケーションをどのようにホストするか?
.
そして、@toskvが言ったように、その質問は本当に広範すぎて答えられないし、多くの異なるものに依存する。
2つ目
は
デプロイメント版のアプリケーションはどのように準備するのですか?
.
ここでは、いくつかの選択肢があります。
- そのままデプロイする。最小化、連結、名前変更など一切なし。tsプロジェクトをトランスパイルして、出来上がったjs/css/...のソースと依存関係をすべてホスティングサーバーにコピーすれば、それでOKです。
-
のような特別なバンドルツールを使ってデプロイします。
webpack
またはsystemjs
ビルダーです。
1に欠けているすべての可能性を備えている。
アプリのコードをすべてjs/css/...ファイルにまとめ、HTMLの中で参照できるようにすることができます。systemjs
ビルダーを使えば、includeする必要のないsystemjs
をデプロイメントパッケージの一部として使用します。 -
を使用することができます。
ng deploy
Angular 8 では、CLI からアプリをデプロイすることができます。ng deploy
は、選択したプラットフォームと組み合わせて使用する必要があります(例えば@angular/fire
). 公式のドキュメントをチェックして、何が最適か確認することができます。 こちら
はい、ほとんどの場合、デプロイする必要があります。
systemjs
と他の外部ライブラリの束をパッケージの一部として使用します。そして、HTMLページから参照する数個のjsファイルにそれらをバンドルすることができるようになります。
ただし、コンパイルしたすべての js ファイルをページから参照する必要はありません。
systemjs
をモジュールローダーとして使用することで、その処理を行うことができます。
泥臭い話ですが、#2 を始めるにあたって、本当に良いサンプルアプリケーションを2つ紹介します。
SystemJSビルダーです。 angular2シード
WebPackです。 angular2 webpack スターター
関連
-
[解決済み】Typescript : require文はimport文の一部ではない
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] Angular HTMLバインディング
-
[解決済み] TypeScript で `window` に新しいプロパティを明示的に設定するにはどうすればよいですか?
-
[解決済み] Angular:*ngClassを使った条件付きクラス
-
[解決済み] モジュール "@angular-devkit/build-angular" が見つかりませんでした。
-
[解決済み] Angularの@Directiveと@Componentの比較
-
[解決済み] Angularアプリを本番用にバンドルする方法
-
[解決済み] AngularでNameServiceのプロバイダがない
-
[解決済み】TypeScriptとフィールドイニシャライザー
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つのインターフェイスを統合する
-
[解決済み] Webpack with typescriptでTypeScript emitted no outputエラーが発生する。
-
[解決済み] TSLintの "文字列リテラルによるオブジェクトアクセス "を回避するためのコードの書き換え方法
-
[解決済み] TypeScriptの非同期関数でプロミスを返す
-
[解決済み] エラー TS2345: 型 'T' の引数は型 'object' のパラメータに代入できません。
-
[解決済み] noImplicitAnyフラグを有効にしてtypescriptをコンパイルすると、"Index signature of object type implicitly has an 'any' type "というエラーが発生しますが、どうすれば防ぐことができますか?
-
[解決済み】「エラー TS2533: オブジェクトは 'null' または 'undefined' の可能性があります」を抑制する方法とは?
-
[解決済み】ランタイムにオブジェクトのクラス名を取得する
-
[解決済み】タイプからプロパティを除外する
-
[解決済み】Typescriptのパラメータ名のクエスチョンマークとは?