Angular CLIアプリケーションは、ng serve
コマンドで配信できます。
これにより、アプリケーションがコンパイルされ、不要な最適化がスキップされ、開発サーバーが起動し、その後の変更が自動的に再ビルドおよびライブリロードされます。
サーバーはCtrl+C
を押して停止できます。
ng serve
は、angular.json
で指定されたデフォルトプロジェクトのserve
ターゲットのビルダーのみを実行します。
ここでは任意のビルダーを使用できますが、最も一般的(かつデフォルト)なビルダーは@angular-devkit/build-angular:dev-server
です。
特定のプロジェクトで使用されているビルダーは、そのプロジェクトのserve
ターゲットを調べることで判断できます。
{ "projects": { "my-app": { "architect": { // `ng serve` invokes the Architect target named `serve`. "serve": { "builder": "@angular-devkit/build-angular:dev-server", // ... }, "build": { /* ... */ } "test": { /* ... */ } } } }}
このページでは、@angular-devkit/build-angular:dev-server
の使用法とオプションについて説明します。
バックエンドサーバーへのプロキシ
プロキシサポートを使用して、特定のURLをバックエンドサーバーに転送するには、--proxy-config
ビルドオプションにファイルを渡します。
例えば、http://localhost:4200/api
へのすべての呼び出しをhttp://localhost:3000/api
で実行されているサーバーに転送するには、以下の手順を実行します。
プロジェクトの
src/
フォルダーにproxy.conf.json
ファイルを作成します。新しいプロキシファイルに以下の内容を追加します。
{ "/api": { "target": "http://localhost:3000", "secure": false } }
CLI設定ファイル
angular.json
で、serve
ターゲットにproxyConfig
オプションを追加します。{ "projects": { "my-app": { "architect": { "serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { "proxyConfig": "src/proxy.conf.json" } } } } } }
このプロキシ設定で開発サーバーを実行するには、
ng serve
を呼び出します。
プロキシ設定ファイルを編集して設定オプションを追加します。以下にいくつかの例を示します。
すべてのオプションの詳細については、@angular-devkit/build-angular:browser
を使用する場合はwebpack DevServerドキュメントを、または@angular-devkit/build-angular:browser-esbuild
または@angular-devkit/build-angular:application
を使用する場合はVite DevServerドキュメントを参照してください。
NOTE: プロキシ設定ファイルを編集した場合、変更を有効にするにはng serve
プロセスを再起動する必要があります。
localhost
の解決
Nodeバージョン17以降、Nodeはhttp://localhost:<port>
をhttp://127.0.0.1:<port>
に常に解決するとは限りません
これは各マシンの設定に依存します。
もしlocalhost
URLをターゲットとするプロキシを使用している際にECONNREFUSED
エラーが発生した場合、
ターゲットをhttp://localhost:<port>
からhttp://127.0.0.1:<port>
に更新することで、この問題を解決できます。
[http-proxy-middleware
のドキュメント`](https://github.com/chimurai/http-proxy-middleware#nodejs-17-econnrefused-issue-with-ipv6-and-localhost-705)を参照してください。
詳細については。