Angular-CLI サーバー ポート変更方法

2024-10-22

Angular-CLI サーバーのデフォルトポート指定について

Angular-CLI を使用して Angular アプリケーションを開発する際に、サーバーを起動するコマンド ng serve のデフォルトポートは通常 4200 です。しかし、特定のポートを使用したい場合、コマンドラインオプションを使って指定することができます。

コマンドラインオプション: --port

このオプションを使用することで、サーバーの起動時に任意のポートを指定できます。


ng serve --port 8080

このコマンドを実行すると、サーバーはポート 8080 で起動します。

angular.json ファイルでの設定

Angularプロジェクトのルートディレクトリにある angular.json ファイルで、デフォルトポートを指定することもできます。

angular.jsonserve プロパティ内の options オブジェクトに port キーを追加します。

{
  "projects": {
    "your-project-name": {
      "architect": {
        "serve": {
          "options": {
            "port": 8080
          }
        }
      }
    }
  }
}

この設定を保存し、その後 ng serve を実行すると、デフォルトでポート 8080 が使用されます。

注意

  • ポート番号を指定しない場合、デフォルトのポート 4200 が使用されます。
  • ポート番号がすでに他のアプリケーションで使用されている場合、エラーが発生します。
  • ポート番号は 0 から 65535 の範囲で指定できます。



コマンドラインオプションを使用したポート指定

ng serve --port 8080
  • --port 8080: ポート番号を 8080 に指定するオプション
  • ng serve: Angular-CLI サーバーを起動するコマンド
{
  "projects": {
    "your-project-name": {
      "architect": {
        "serve": {
          "options": {
            "port": 8080
          }
        }
      }
    }
  }
}
  • port: ポート番号を指定するプロパティ
  • your-project-name: プロジェクトの名前

TypeScript ファイルでのポート設定 (Angular 13 以降)

import { provideRouter, Route } from '@angular/router';
import { AppComponent } from './app.component';

const routes: Route[] = [
  // ...
];

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    RouterModule.forRoot(routes, {
      initialNavigation: 'enabled',
      // ポート番号を指定
      useHash: true,
      baseHref: 'http://localhost:8080/'
    })
  ],
  providers: [
    provideRouter(routes)
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
  • baseHref: ベースURLを指定
  • useHash: URL にハッシュを使用する



環境変数を使用する

環境変数 PORT を設定することで、Angular-CLI サーバーのポートを指定することができます。

コマンドライン

PORT=8080 ng serve

シェルスクリプト

export PORT=8080
ng serve

package.json ファイルのスクリプトを使用する

package.json ファイルの scripts プロパティにカスタムスクリプトを定義し、その中でポートを指定することができます。

package.json

{
  "scripts": {
    "serve:custom": "ng serve --port 8080"
  }
}

実行

npm run serve:custom

Angular CLI の serve コマンドのオプションを使用する

ng serve コマンドには、他にもポートを指定するためのオプションがあります。

  • --proxy-config: プロキシ設定を指定します。
  • --host: サーバーのホスト名を指定します。
ng serve --host 0.0.0.0 --port 8080

ng serve コマンドのエイリアスを作成し、そのエイリアスにデフォルトのポートを指定することができます。

alias ng-serve-custom='ng serve --port 8080'
ng-serve-custom

angular angular-cli



Angularサービスプロバイダーエラー解決

エラーメッセージの意味"Angular no provider for NameService"というエラーは、Angularのアプリケーション内で「NameService」というサービスを提供するモジュールが存在しないか、適切にインポートされていないことを示しています。...


jQueryとAngularの併用について

jQueryとAngularの併用は、一般的に推奨されません。Angularは、独自のDOM操作やデータバインディングの仕組みを提供しており、jQueryと併用すると、これらの機能が衝突し、アプリケーションの複雑性やパフォーマンスの問題を引き起こす可能性があります。...


Angularで子コンポーネントのメソッドを呼び出す2つの主要な方法と、それぞれの長所と短所

入力バインディングとイベントエミッターを使用するこの方法は、子コンポーネントから親コンポーネントへのデータ送信と、親コンポーネントから子コンポーネントへのイベント通知の両方に適しています。手順@Inputデコレータを使用して、親コンポーネントから子コンポーネントにデータを渡すためのプロパティを定義します。...


【実践ガイド】Angular 2 コンポーネント間データ共有:サービス、共有ステート、ルーティングなどを活用

@Input と @Output@Input は、親コンポーネントから子コンポーネントへデータを一方方向に送信するために使用されます。親コンポーネントで @Input() デコレータ付きのプロパティを定義し、子コンポーネントのテンプレートでバインディングすることで、親コンポーネントのプロパティ値を子コンポーネントに渡すことができます。...


Angular で ngAfterViewInit ライフサイクルフックを活用する

ngAfterViewInit ライフサイクルフックngAfterViewInit ライフサイクルフックは、コンポーネントのテンプレートとビューが完全に初期化され、レンダリングが完了した後に呼び出されます。このフックを使用して、DOM 操作やデータバインドなど、レンダリングに依存する処理を実行できます。...



SQL SQL SQL SQL Amazon で見る



Angular バージョン確認方法

AngularJSのバージョンは、通常はHTMLファイルの<script>タグで参照されているAngularJSのライブラリファイルの名前から確認できます。例えば、以下のように参照されている場合は、AngularJS 1.8.2を使用しています。


Angular ファイル入力リセット方法

Angularにおいて、<input type="file">要素をリセットする方法は、主に2つあります。この方法では、<input type="file">要素の参照を取得し、そのvalueプロパティを空文字列に設定することでリセットします。IEの互換性のために、Renderer2を使ってvalueプロパティを設定しています。


Android Studio adb エラー 解決

エラーの意味 このエラーは、Android StudioがAndroid SDK(Software Development Kit)内のAndroid Debug Bridge(adb)というツールを見つけることができないことを示しています。adbは、Androidデバイスとコンピュータの間で通信するための重要なツールです。


Angularのスタイルバインディング解説

日本語Angularでは、テンプレート内の要素のスタイルを動的に変更するために、「Binding value to style」という手法を使用します。これは、JavaScriptの変数やオブジェクトのプロパティをテンプレート内の要素のスタイル属性にバインドすることで、アプリケーションの状態に応じてスタイルを更新することができます。


Yeoman ジェネレータを使って Angular 2 アプリケーションを構築する

Angular 2 は、モダンな Web アプリケーション開発のためのオープンソースな JavaScript フレームワークです。この文書では、Yeoman ジェネレータを使用して Angular 2 アプリケーションを構築する方法を説明します。