Docker を使用して Angular プロジェクトをデプロイする方法は 2 つあります。1 つは、公式ドキュメントに記載されているサーバー側レンダリングです。もう 1 つは、ノード イメージをコンパイルして Web サーバーに配置する方法です。ノード環境なので、Express を使用するのが最も便利です。 server.jsを作成する 定数 express = require('express'); express() は、定数です。 定数設定 = { ルート: __dirname + '/dist', ポート: process.env.PORT || 4200 }; //静的リソース app.use('/', express.static(config.root)); //すべてのルートはindex.htmlに移動します app.all('*', 関数(req, res) { res.sendfile(config.root + '/index.html'); }); app.listen(config.port, () => { console.log("実行中……"); }) Dockerfileを作成する ノード:13.3.0-alpine3.10 から 環境変数ポート=4200\ NODE_ENV=本番 # expressとangular/cliをインストールします npm install [email protected] -g \ を実行します。 && npm インストール -g @angular/cli # アプリディレクトリを作成する RUN mkdir -p /app # コードをAppディレクトリにコピーします。COPY ./app ワークディレクトリ /app # 依存関係をインストールしてプログラムをビルドします。サブディレクトリにリバースプロキシする必要があるため、base-hrefパラメータを追加します。RUN npm install && ng build --base-href /manage/ --prod ${PORT} を公開する エントリポイント ["node", "/app/server.js"] 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Windows 7 で MySQL 8.0.16 をインストールして使用する場合、パスワードの変更と Navicat への接続に関する問題が発生する
>>: WeChatアプレットwebViewにH5を埋め込む方法の例
偶然、素晴らしい人工知能のチュートリアルを発見したので、みんなと共有せずにはいられませんでした。この...
ページ分割されたクエリを実行するには: 1. MySQL の場合、サブクエリと結合の使用は推奨されま...
最近、nginx-ingress-controller のアプリケーションについて説明した公開アカウ...
今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...
仮想マシンに独自の LAN IP を持たせたいので、テストを容易にするためにブリッジを使用します。 ...
MySQL には、msi インストールと zip 解凍の 2 つのインストール方法があります。 zi...
1. 応用シナリオ親ページ a.jspサブページ b.jsp (ページ a に埋め込まれた ifra...
px(ピクセル)ピクセルという言葉は皆さんもよくご存知だと思います。次に、この単位に関するちょっとし...
1. まず、node、express、express-generator をインストールします (4...
stat 関数と stat コマンドLinux ファイル内の [inode = インデックス ノード...
目次セーフモード設定テスト1. where句なしで更新および削除する2. 非インデックスキーの削除3...
実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...
この記事では、シンプルなカレンダー効果を実現するためのJSの具体的なコードを参考までに紹介します。具...
目次序文1. Dockerをインストールする2. Dapr CLIをインストールする3. Net6 ...
この記事では、JavaScript メッセージ ボードでメッセージを追加および削除する小さな例を詳細...