O uso de uma estratégia Angular monorepo usa Lerna para hospedar vários aplicativos em um único repositório. Essa configuração fornece meios para reutilizar o código, compartilhar entre aplicativos sem precisar duplicar o código ou criar repositórios de bibliotecas e compilações menores por rota, o que economiza tempo. A estratégia monorepo é usada por todos IBM® oferecido Centro de pedidos repositórios. Esta estratégia fornece uma abordagem de personalização limpa, onde você pode personalizar rotas em um ambiente existente. IBM repositório sem assumir todas as rotas inalteradas.
Sobre esta tarefa
Este procedimento migra seus novos aplicativos para um novo monorepo no Hub de pedidos de próxima geração ambiente. Este esquema cria um novo monorepo para armazenar vários projetos para suas novas aplicações usando Lerna e Single-Spa.
Procedimento
- Extraia o Hub de pedidos de próxima geração código. Para mais informações, veja Introdução à personalização Hub de pedidos de próxima geração.
Observação: O parâmetro de versão para oom-compose.sh extract-orderhub-code comando deve seroms para extrair o Hub de pedidos de próxima geração código. O parâmetro de versãoomoc não é aplicável a Hub de pedidos de próxima geração.
- Abra um console e vá para o Hub de pedidos de próxima geração diretório de código. O local padrão édevtoolkit_docker/orderhub-code .
- Para ignorar a verificação SSL para interações com registros, defina
strict-ssl como falso executando o seguinte comando.
npm config set "strict-ssl" false
- Reinstale a versão mais recente do
@buc/schematics para acessar o IBM-forneceu esquemas executando os seguintes comandos.
npm uninstall -g @buc/schematics
npm install -g ./lib/buc/schematics/schematics-v5latest.tgz
- Crie uma pasta para seu novo aplicativo. O nome da pasta é o nome do módulo. Copie oapp-config.json arquivo que descreve as rotas no módulo para a pasta da customização existente.
- No console, vá para a pasta que você criou.
- Crie um espaço de trabalho e inicialize um novo aplicativo Angular executando o comando a seguir.
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
Observação: Ong new comando requer o--mode=on-prem parâmetro.
O esquema suporta as seguintes opções.
- --skip-git
- Esta opção não inicializa um GitHub repositório. O padrão é
false.
- --commit
- Esta opção inclui o inicial GitHub informações de commit do repositório. O padrão é true.
- --app-config-json
- Essas opções são obrigatórias. Use oapp-config.json arquivo que você criou anteriormente.
- --module-short-name
- O nome abreviado do módulo. Se o nome do módulo tiver travessões, o nome abreviado deverá ser o texto após o último travessão. Por exemplo, se o nome do módulo for configurações do aplicativo buc, o nome abreviado do módulo deve ser configurações.
- --prefix
- O seletor HTML a ser usado para componentes gerados. O padrão é cara.
- --shared-library-name
- O nome da biblioteca compartilhada. O nome padrão é<module-short-name>-shared . O nome do pacote é @<prefixo>/<module-short-name>/-shared.
- --generate-root-config
- Indica se deve ser gerado um projeto de roteador root-config. O padrão é true.
- --skip-install
- Indica se os pacotes devem ser instalados. O padrão é
false.
- --mode
- Defina esta opção como local para gerar código que seja aplicável para Hub de pedidos de próxima geração.
Veja o exemplo a seguir.
ng new --collection=@buc/schematics --app-config-json=app-config.json
--module-short-name=monorepo --prefix=monorepo --mode=on-prem
Depois que o comando for concluído, um
Packages installed successfully.“Não Assumido? será exibida.
Observação: Se você encontrar um erro semelhante à mensagem a seguir, poderá ignorar o erro com segurança. Esses erros não afetam os ícones usados pelo
Hub de pedidos de próxima geração.
Erro: Falha ao compilar o ponto de entrada @carbon/icons-angular/
- Copie oangular.json arquivo da personalização existente.
Observação: Não copie ooverrides.json ou o módulopackage.json arquivos da personalização existente.
- Para cada rota, copie osrc/app esrc/assets pastas e qualquer outro código personalizado da personalização existente.
Observação: Não copie osrc/environments pasta da personalização existente.
Observação: Não copie a rotapackage.json arquivo da personalização existente.
- Se Hub de pedidos de próxima geração contêineres não estão em execução no momento, vá para odevtoolkit_docker/compose diretório e execute o seguinte comando.
./om-compose.sh start orderhub
- Crie a versão de desenvolvimento local dofeatures.json arquivo. Para obter informações, consulte Criando o features.json arquivos.
- Para testar seu novo aplicativo localmente, copie o arquivofeatures.json arquivo noom-orderhub-base contêiner executando os seguintes comandos.
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/
- Inicie o servidor digitando o seguinte comando.
yarn start-app
Observação: Você verá a seguinte mensagem.
"** Angular Live Development Server está escutando em localhost:<porta>,
abra seu navegador em https://localhost:<porta>/<módulo>/<rota> **"
Você pode ignorar essa mensagem.
Observação: Se você encontrar um erro semelhante à mensagem a seguir, aumente o tamanho do heap antes de iniciar o novo aplicativo.
O comando de erro falhou com o código existente 134.
lerna ERRA! início da corrida do fio.... saiu 134
Execute o seguinte comando e inicie o novo aplicativo.
- Solicitação do CMD do Windows:
SET NODE_OPTIONS=--max_old_space_size=8048
- Bash/ Git Bash:
export NODE_OPTIONS=--max_old_space_size=8048
- Concha de energia:
$Env:NODE_OPTIONS=--max_old_space_size=8048
Se precisar parar o servidor, pare o trabalho do servidor e execute o
yarn
stop-app comando para verificar se tudo está parado corretamente.
- Para aceitar o certificado autoassinado no navegador da web, em um navegador, abra uma guia para
https://localhost:9300 e aceite o certificado. O Porto 9300 é o valor usado emdevServerConfig noapp-config.json arquivo.
Observação: Para aceitar o certificado, é agorahttps://localhost:9300 em vez dehttps://bucgenerichost:9300 .
- Começar Hub de pedidos de próxima geração abrindo uma guia em um navegador para
https://localhost:7443/order-management . A porta padrão é 7443. Se você definir oOH_BASE_HTTPS_PORT propriedade nodevtoolkit_docker/compose/om-compose.properties arquivo, use esse número de porta.
- Clique no seu novo item de menu na navegação do menu esquerdo.
O que fazer depois
Prepare-se para a implantação e, em seguida, crie, teste e implante suas personalizações. Para mais informações, veja Processo de implantação.