Implantar o aplicativo Web nos Aplicativos Web Estáticos do Azure
Neste artigo, crie um novo aplicativo Web com a estrutura de sua escolha, execute-o localmente e, em seguida, implante nos Aplicativos Web Estáticos do Azure.
Pré-requisitos
Para concluir este tutorial, você precisará de:
Recurso | Descrição |
---|---|
Assinatura do Azure | Se você não tiver uma, crie uma conta gratuita. |
Node.js | Instale a versão 20.0 ou posterior. |
CLI do Azure | Instale a versão 2.6x ou posterior. |
Você também precisará de um editor de texto. Para trabalhar com o Azure, é recomendável o Visual Studio Code.
Você pode executar o aplicativo criado neste artigo na plataforma de sua escolha, incluindo: Linux, macOS, Windows ou Subsistema do Windows para Linux.
Criar seu aplicativo Web
- Abra uma janela do terminal.
Selecione um diretório apropriado para seu código e, em seguida, execute os comandos a seguir.
npm create vite@latest swa-vanilla-demo -- --template=vanilla cd swa-vanilla-demo npm install npm run dev
À medida que você executa esses comandos, o servidor de desenvolvimento imprimirá a URL do seu site. Selecione o link para abri-lo no navegador padrão.
Selecione um diretório apropriado para seu código e, em seguida, execute os comandos a seguir.
npx --package @angular/cli@latest ng new swa-angular-demo --ssr=false --defaults cd swa-angular-demo npm start
À medida que você executa esses comandos, o servidor de desenvolvimento imprimirá a URL do seu site. Selecione o link para abri-lo no navegador padrão.
Selecione um diretório apropriado para seu código e, em seguida, execute os comandos a seguir.
npm create vite@latest swa-react-demo -- --template react cd swa-react-demo npm install npm run dev
À medida que você executa esses comandos, o servidor de desenvolvimento imprimirá a URL do seu site. Selecione o link para abri-lo no navegador padrão.
Selecione um diretório apropriado para seu código e, em seguida, execute os comandos a seguir.
npm create vite@latest swa-vue-demo -- --template vue cd swa-vue-demo npm install npm run dev
À medida que você executa esses comandos, o servidor de desenvolvimento imprimirá a URL do seu site. Selecione o link para abri-lo no navegador padrão.
- Selecione Cmd/Ctrl+C para interromper o servidor desenvolvimento.
Criar um aplicativo Web estático no Azure
Você pode criar um aplicativo Web estático usando o portal do Azure, a CLI do Azure, o Azure PowerShell ou o Visual Studio Code (com a extensão dos Aplicativos Web Estáticos do Azure). Este tutorial usa a CLI do Azure.
Entre na CLI do Azure:
az login
Por padrão, esse comando abre um navegador para concluir o processo. A CLI do Azure dá suporte a vários métodos de entrada se esse método não funcionar em seu ambiente.
Se você tiver várias assinaturas, talvez seja necessário selecionar uma assinatura. Você pode exibir sua assinatura atual usando o seguinte comando:
az account show
Para selecionar uma assinatura, execute o comando
az account set
.az account set --subscription "<SUBSCRIPTION_NAME_OR_ID>"
Crie um grupos de recursos.
Os grupos de recursos são usados para agrupar recursos do Azure.
az group create -n swa-tutorial -l centralus --query "properties.provisioningState"
O parâmetro
-n
refere-se ao nome do site e o parâmetro-l
é o nome do local do Azure. O comando é concluído com--query "properties.provisioningState"
, portanto, o comando retorna apenas uma mensagem de sucesso ou erro.Crie um aplicativo Web estático em seu grupo de recursos recém-criado.
az staticwebapp create -n swa-demo-site -g swa-tutorial --query "defaultHostname"
O parâmetro
-n
refere-se ao nome do site e o parâmetro-g
ao nome do grupo de recursos do Azure. Especifique o mesmo nome do grupo de recursos da etapa anterior. Seu aplicativo Web estático é distribuído globalmente, portanto, o local não é importante para a forma como você implanta o aplicativo.O comando está configurado para retornar a URL do seu aplicativo Web. Você pode copiar o valor da janela do terminal para o navegador para exibir o aplicativo Web implantado.
Configurar para implantação
Adicione um arquivo
staticwebapp.config.json
ao código do aplicativo com o seguinte conteúdo:{ "navigationFallback": { "rewrite": "/index.html" } }
A definição de uma rota de fallback permitirá que seu site sirva o arquivo
index.html
para todas as solicitações feitas contra o domínio.Verifique esse arquivo em seu sistema de controle de código-fonte (como o git), se estiver usando um.
Instale a CLI dos Aplicativos Web Estáticos do Azure (SWA) em seu projeto.
npm install -D @azure/static-web-apps-cli
A CLI de SWA ajuda você a desenvolver e testar seu site localmente antes de implantá-lo na nuvem.
Crie um novo arquivo para seu projeto e nomeie-o como
swa-cli.config.json
.O arquivo
swa-cli.config.json
descreve como criar e implantar seu site.Depois que esse arquivo for criado, você poderá gerar seu conteúdo usando o comando
npx swa init
.npx swa init --yes
Crie seu aplicativo para distribuição.
npx swa build
Use a CLI de SWA para entrar no Azure.
npx swa login --resource-group swa-tutorial --app-name swa-demo-site
Use o mesmo nome do grupo de recursos e o nome do aplicativo Web estático que você criou na seção anterior. À medida que você tenta fazer logon, um navegador será aberto para concluir o processo, se necessário.
Aviso
O Angular v17 e posterior colocam os arquivos distribuíveis em um subdiretório do caminho de saída que você pode escolher. A CLI de SWA não sabe o local específico do diretório. As etapas a seguir mostram como definir esse caminho corretamente.
Localize o arquivo de index.html gerado em seu projeto na pasta dist/swa-angular-demo/browser.
Defina a variável de ambiente
SWA_CLI_OUTPUT_LOCATION
para o diretório que contém o arquivo index.html:export SWA_CLI_OUTPUT_LOCATION="dist/swa-angular-demo/browser"
Implantar o site no Azure
Implante seu código em seu aplicativo Web estático:
npx swa deploy --env production
Pode levar alguns minutos para implantar o aplicativo. Após a conclusão, a URL do seu site será exibida.
Na maioria dos sistemas, você pode selecionar a URL do site para abri-la no navegador padrão.
Limpar recursos (opcional)
Se você não continuar com outros tutoriais, remova o grupo de recursos e os recursos do Azure:
az group delete -n swa-tutorial
Ao remover um grupo de recursos, você exclui todos os recursos que ele contém. Esta ação não pode ser desfeita.