作成次世代オーダーハブモノレポを使用するアプリケーション

Angular モノレポ戦略では、Lerna を使用して複数のアプリケーションを単一のリポジトリでホストします。 この設定により、コードを再利用し、コードを複製したり、ライブラリ リポジトリやルートごとの小さなビルドを作成したりすることなくアプリケーション間で共有する手段が提供され、時間を節約できます。 モノレポ戦略は誰もが採用しているIBM®提供された注文ハブリポジトリ。 この戦略は、既存のルートをカスタマイズできるクリーンなカスタマイズアプローチを提供します。 IBM変更されていないルートをすべて引き継ぐことなくリポジトリに保存します。

このタスクについて

このスキーマは、Lerna と Single-Spa を使用して、新しいアプリケーション用の複数のプロジェクトを保持する新しいモノレポを作成します。

手順

  1. 抽出する次世代オーダーハブコード。 詳細については、カスタマイズを始める次世代オーダーハブ
    注記:バージョンパラメータはom-compose.sh extract-orderhub-codeコマンドはoms抽出する次世代オーダーハブコード。 バージョンパラメータomoc適用されない次世代オーダーハブ
  2. コンソールを開いて次世代オーダーハブコードディレクトリ。 デフォルトの場所はdevtoolkit_docker/orderhub-code
  3. レジストリとのやり取りでSSL検証をバイパスするには、strict-ssl次のコマンドを実行して false に設定します。
    npm config set "strict-ssl" false
  4. 以下のいずれかのコマンドを実行し、 @buc/schematics の最新バージョンを再インストールして、 IBM -提供された回路図にアクセスしてください。 Angular v15 の場合は、以下のコマンドを実行する。

npm uninstall -g @buc/schematics
npm install -g ./lib/buc/schematics/schematics-v3latest.tgz
Angular v18 の場合は、以下のコマンドを実行する。
npm uninstall -g @buc/schematics
npm install -g ./lib/buc/schematics/schematics-v4latest.tgz

  1. 新しいアプリケーション用のフォルダーを作成します。 フォルダーの名前はモジュール名です。 フォルダ内に、app-config.jsonモジュール内のルートを記述するファイル。 の価値名前モジュール名である必要があります。 以下の例を参照してください。

{
  "name": "custom-monorepo",
  "devServerConfig": {
      "port": 9300,
      "contextRoot": "/custom-monorepo"
  },
  "prodServerConfig": {
      "hostName": "static.omsbusinessusercontrols.ibm.com"
  },
  "routes": {
      "custom-page1": {
          "devServerConfig": {
              "port": 9301,
              "contextRoot": "/custom-page1"
          }
      },
      "custom-page2": {
          "devServerConfig": {
              "port": 9302,
              "contextRoot": "/custom-page2"
          }
      }
  }
}

  1. コンソールで、作成したフォルダーに移動します。
  2. 次のコマンドを実行してワークスペースを作成し、新しい Angular アプリケーションを初期化します。

ng new --collection=@buc/schematics \
--app-config-json=<app-config.json-file-name> \
--module-short-name=<short-name-for-the-module> \
--prefix=<selector-prefix> \
--mode=on-prem
注記:ng newコマンドには--mode=on-premパラメータ。
回路図は次のオプションをサポートしています。
--skip-git
このオプションは初期化しませんGitHubリポジトリ。 デフォルトは false です。
--commit
このオプションには初期GitHubリポジトリのコミット情報。 デフォルトは true です。
--app-config-json
これは必須オプション です。 使用app-config.json手順 5 で作成したファイル。
--module-short-name
モジュールの短い名前。 モジュール名にダッシュが含まれている場合、短縮名は最後のダッシュの後のテキストにする必要があります。 たとえば、モジュール名がbuc-アプリ設定モジュールの短縮名は設定
注意: root-configパッケージはmodule-short-nameに基づいて生成されます。 module-short-name の名前を変更したり、接頭辞を追加したりしないでください。
--prefix
生成されたコンポーネントに使用する HTML セレクター。 デフォルトはブック
--shared-library-name
共有ライブラリの名前。 デフォルト名は<module-short-name>-shared。 パッケージ名は@<プレフィックス>/<モジュール短縮名>-shared
--generate-root-config
ルート構成ルーター プロジェクトを生成するかどうかを示します。 デフォルトは true です。
--skip-install
パッケージをインストールするかどうかを示します。 デフォルトは false です。
--mode
このオプションを設定するオンプレミス適用可能なコードを生成する次世代オーダーハブ

以下の例を参照してください。

ng new --collection=@buc/schematics  --app-config-json=app-config.json
      --module-short-name=monorepo  --prefix=monorepo --mode=on-prem
コマンドが完了すると、Packages installed successfully.というメッセージが表示されます。
注記:次のメッセージのようなエラーが発生した場合は、エラーを無視しても問題ありません。 これらのエラーは、次世代オーダーハブ
エラー: エントリポイント @carbon/icons-angular/ のコンパイルに失敗しました

  1. もし次世代オーダーハブコンテナが現在実行されていない場合は、devtoolkit_docker/composeディレクトリに移動し、次のコマンドを実行します。

./om-compose.sh start orderhub

  1. ローカル開発バージョンを作成するfeatures.jsonファイル。 詳しくは、 features.json ファイルの作成を参照。
  2. 新しいアプリケーションをローカルでテストするには、features.jsonファイルにom-orderhub-base次のコマンドを実行してコンテナを開きます。

docker exec om-orderhub-base bash -c 'mkdir -p /opt/app-root/src/shell-ui/assets/custom'
docker cp <orderhub-code>/shell-ui/assets/dev/. om-orderhub-base:/opt/app-root/src/shell-ui/assets/custom/

  1. 次のコマンドを入力してサーバーを起動します。

yarn start-app
注記:次のメッセージが表示されます。
"** Angular Live Development Server は localhost:<port> でリッスンしています。 
ブラウザを開いてhttps://localhost:<ポート>/<モジュール>/<ルート> **"
このメッセージは無視してください。
注記:次のメッセージのようなエラーが発生した場合は、新しいアプリケーションを起動する前にヒープ サイズを増やしてください。
エラー コマンドが終了コード 134 で失敗しました。
レルナ ERR! 糸かけ開始…。 退出 134
次のコマンドを実行して、新しいアプリケーションを起動します。
  • Windows CMDプロンプト:
    SET NODE_OPTIONS=--max_old_space_size=8048
  • バッシュ/Gitバッシュ:
    export NODE_OPTIONS=--max_old_space_size=8048
  • パワーシェル:
    $Env:NODE_OPTIONS=--max_old_space_size=8048
注記:サーバーを停止する必要がある場合は、サーバージョブを停止して、yarn stop-appすべてが適切に停止されていることを確認するコマンド。

  1. ウェブブラウザで自己署名証明書を受け入れるには、ブラウザでタブを開いてhttps://localhost:9300証明書を承認します。 港9300使用される値ですdevServerConfigの中にapp-config.jsonファイル。

注記:証明書を承認するには、https://localhost:9300の代わりにhttps://bucgenerichost:9300

  1. 始める次世代オーダーハブブラウザでタブを開いてhttps://localhost:7443/order-management
    注記:デフォルトのポートは 7443 です。 設定した場合OH_BASE_HTTPS_PORTの財産devtoolkit_docker/compose/om-compose.propertiesファイルの場合は、そのポート番号を使用します。
  2. 左側のメニュー ナビゲーションで新しいメニュー項目をクリックします。