Configuração do desenvolvimento local
Saiba como configurar um ambiente de desenvolvimento local para editar o conteúdo de um aplicativo React com o editor universal do AEM.
Pré-requisitos
Os seguintes elementos são necessários para seguir este tutorial:
-
Habilidades básicas de HTML e JavaScript.
-
As seguintes ferramentas devem ser instaladas localmente:
- Node.js
- Git
- Um IDE ou editor de código, como o Visual Studio Code
-
Baixe e instale o seguinte:
- AEM as a Cloud Service SDK: contém o Quickstart Jar usado para executar o AEM Author e Publish localmente para fins de desenvolvimento.
- Serviço do editor universal: uma cópia local do serviço do editor universal que contém um subconjunto de recursos e pode ser baixada do portal de distribuição de softwares.
- local-ssl-proxy: um proxy HTTP SSL local simples que usa um certificado autoassinado para desenvolvimento local. O editor universal do AEM requer o URL HTTPS do aplicativo React para carregá-lo no editor.
Configuração local
Siga as etapas abaixo para configurar o ambiente de desenvolvimento local:
SDK do AEM
Para fornecer o conteúdo do aplicativo React WKND Teams, instale os seguintes pacotes no SDK do AEM local.
-
WKND Teams: pacote de conteúdo: contém os modelos de fragmento de conteúdo, fragmentos de conteúdo e consultas persistentes do GraphQL.
-
WKND Teams: pacote de configuração: contém as configurações de compartilhamento de recursos entre origens (CORS, na sigla em inglês) e do tratador de autenticação de tokens. O CORS facilita que propriedades da web que não forem do AEM façam chamadas do lado do cliente baseadas no navegador para as APIs do GraphQL do AEM, enquanto o tratador de autenticação de tokens é usado para autenticar cada solicitação recebida pelo AEM.
Aplicativo React
Para configurar o aplicativo React WKND Teams, siga as etapas abaixo:
-
Clone o aplicativo React WKND Teams a partir da ramificação da solução
basic-tutorial.code language-bash $ git clone -b solution/basic-tutorial git@github.com:adobe/aem-guides-wknd-graphql.git -
Navegue até o diretório
basic-tutoriale abra-o no editor de código.code language-bash $ cd aem-guides-wknd-graphql/basic-tutorial $ code . -
Instale as dependências e inicie o aplicativo React.
code language-bash $ npm install $ npm start -
Abra o aplicativo React WKND Teams no navegador, em http://localhost:3000. Ele exibe uma lista de membros da equipe e seus detalhes. O conteúdo do aplicativo React é fornecido pelo SDK do AEM local, usando as APIs do GraphQL (
/graphql/execute.json/my-project/all-teams), que você pode verificar por meio da guia de rede do navegador.
Serviço do editor universal
Para configurar o serviço do editor universal local, siga as etapas abaixo:
-
Baixe a versão mais recente do serviço do editor universal do Portal de distribuição de softwares.
-
Extraia o arquivo zip baixado e copie o arquivo
universal-editor-service.cjspara um novo diretório chamadouniversal-editor-service.code language-bash $ unzip universal-editor-service-vproduction-<version>.zip $ mkdir universal-editor-service $ cp universal-editor-service.cjs universal-editor-service -
Crie o arquivo
.envno diretóriouniversal-editor-servicee adicione as seguintes variáveis de ambiente:code language-bash # The port on which the Universal Editor service runs UES_PORT=8000 # Disable SSL verification UES_TLS_REJECT_UNAUTHORIZED=false -
Inicie o serviço do editor universal local.
code language-bash $ cd universal-editor-service $ node universal-editor-service.cjs
O comando acima inicia o serviço do editor universal na porta 8000, e você deverá ver a seguinte saída:
Either no private key or certificate was set. Starting as HTTP server
Universal Editor Service listening on port 8000 as HTTP Server
Proxy HTTP SSL local
O editor universal do AEM exige que o aplicativo React seja distribuído por HTTPS. Vamos configurar um proxy HTTP SSL local que usa um certificado autoassinado para desenvolvimento local.
Siga as etapas abaixo para configurar o proxy HTTP SSL local e fornecer o SDK do AEM SDK e o serviço do editor universal por HTTPS:
-
Instale o pacote
local-ssl-proxyglobalmente.code language-bash $ npm install -g local-ssl-proxy -
Inicie duas instâncias do proxy HTTP SSL local para os seguintes serviços:
- Proxy HTTP SSL local do SDK do AEM na porta
8443. - Proxy HTTP SSL local do serviço do editor universal na porta
8001.
code language-bash # AEM SDK local SSL HTTP proxy on port 8443 $ local-ssl-proxy --source 8443 --target 4502 # Universal Editor service local SSL HTTP proxy on port 8001 $ local-ssl-proxy --source 8001 --target 8000 - Proxy HTTP SSL local do SDK do AEM na porta
Atualizar o aplicativo React para usar HTTPS
Para habilitar o HTTPS para o aplicativo React WKND Teams, siga as etapas abaixo:
-
Pare o React, pressionando
Ctrl + Cno terminal. -
Atualize o arquivo
package.jsonpara incluir a variável de ambienteHTTPS=trueno scriptstart.code language-json "scripts": { "start": "HTTPS=true react-scripts start", ... } -
Atualize o
REACT_APP_HOST_URIno arquivo.env.developmentpara usar o protocolo HTTPS e a porta do proxy HTTP SSL local do SDK do AEM.code language-bash REACT_APP_HOST_URI=https://localhost:8443 ... -
Atualize o arquivo
../src/proxy/setupProxy.auth.basic.jspara usar as configurações de SSL relaxadas, usando a opçãosecure: false.code language-javascript ... module.exports = function(app) { app.use( ['/content', '/graphql'], createProxyMiddleware({ target: REACT_APP_HOST_URI, changeOrigin: true, secure: false, // Ignore SSL certificate errors // pass in credentials when developing against an Author environment auth: `${REACT_APP_BASIC_AUTH_USER}:${REACT_APP_BASIC_AUTH_PASS}` }) ); }; -
Inicie o aplicativo React.
code language-bash $ npm start
Verificar a configuração
Depois de configurar o ambiente de desenvolvimento local por meio das etapas acima, vamos verificar a configuração.
Verificação local
Verifique se os seguintes serviços estão sendo executados localmente em HTTPS. Talvez seja necessário aceitar o aviso de segurança no navegador referente ao certificado autoassinado:
- Aplicativo React WKND Teams em https://localhost:3000
- SDK do AEM em https://localhost:8443
- Serviço do editor universal em https://localhost:8001
Carregar o aplicativo React WKND Teams no editor universal
Vamos carregar o aplicativo React WKND Teams no editor universal para verificar a configuração:
-
Abra o editor universal (https://experience.adobe.com/#/aem/editor) no seu navegador. Se solicitado, faça logon com o seu Adobe ID.
-
Insira o URL do aplicativo React WKND Teams no campo de inserção de URL do site do editor universal e clique em
Open.
-
O aplicativo React WKND Teams será carregado no editor universal, mas você ainda não poderá editar o conteúdo. É necessário instrumentar o aplicativo React para habilitar a edição de conteúdo com o editor universal.
Próxima etapa
Saiba como instrumentar o aplicativo React para editar o conteúdo.