Este documento explica os detalhes do projeto criado ao usar o arquétipo para criar um aplicativo de página única (SPA) com base na estrutura do Angular. Ou seja, ao definir a opção frontendModule
para angular
.
Este projeto foi inicializado com o Angular CLI.
Este aplicativo é criado para consumir o modelo do AEM de um site. Ele gerará automaticamente o layout usando os componentes de ajuda do pacote @adobe/cq-angular-editable-components.
No diretório do projeto, você pode executar os seguintes comandos:
npm start
Este comando executa o aplicativo no modo de desenvolvimento, usando o proxy do modelo JSON de uma instância do AEM local em execução em http://localhost:4502. Isso pressupõe que todo o projeto foi implantado no AEM pelo menos uma vez (mvn clean install -PautoInstallPackage
na raiz do projeto).
Depois de executar o npm start no diretório ui.frontend, seu aplicativo será aberto automaticamente em seu navegador (no caminho http://localhost:4200/content/${appId}/${country}/${language}/home.html). Se você fizer edições, a página será recarregada.
Se você estiver recebendo erros relacionados ao CORS, convém configurar o AEM da seguinte maneira:
npm test
Este comando inicia o executador de teste Karma. Consulte a documentação do Angular sobre execução de testes para mais informações.
npm run test:debug
Este comando inicia o executador de teste Karma no modo de observação interativa.
npm run build
Este comando cria o aplicativo para produção na pasta de build. Ele agrupa o Angular no modo de produção e otimiza o build para obter o melhor desempenho. Consulte a documentação do Angular sobre implantação para mais informações.
Além disso, uma ClientLib do AEM é gerado pelo aplicativo usando o pacote aem-clientlib-generator.
Consulte a documentação do módulo ui.frontend para mais informações sobre como ClientLibs do AEM são usadas pelo arquétipo de projeto.
Por padrão, esse projeto usa a opção Browserslist padrão para identificar navegadores de destino. Além disso, inclui polyfills para recursos de linguagem moderna para suportar navegadores mais antigos (por exemplo, Internet Explorer 11). Se o suporte a esses navegadores não for um requisito, as dependências de polyfill e as importações poderão ser removidas.