만들기 차세대 주문 허브 모노레포를 사용하는 애플리케이션

Angular monorepo 전략을 사용하면 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 . 패키지 이름은 @<접두사>/<모듈-짧은 이름>-공유.
--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. 왼쪽 메뉴 탐색에서 새 메뉴 항목을 클릭합니다.