title | description | meta_tags | namespace | permalink | menu_namespace |
---|---|---|---|---|---|
Como realizar o deploy de uma aplicação Jamstack com Next |
Faça o deploy de uma aplicação Jamstack com Next. |
next, js, jamstack |
docs_framework_next |
/documentacao/produtos/cli/frameworks/next/ |
cliMenuAlpha |
import Badge from '~/components/Badge.astro';
import Button from '~/components/Button.astro'
Aplicação estáticaAntes de começar, você deve ter:
- Uma conta na plataforma da Azion com o produto Edge Functions habilitado.
- A versão mais recente do Azion CLI instalada.
- Um editor de código.
- Acesso ao terminal.
- Node.js ≥ 18 instalado.
:::note Este guia aborda a inicialização de um projeto estático Next.js. O projeto é sempre inicializado na última versão do Next.js para o modo deliver (static). :::
- No terminal, inicialize o projeto:
azion init
- Aceite o nome sugerido para o seu projeto ou digite um de sua escolha:
? (Hit enter to accept the suggested name in parenthesis) Your applications name: (remarkable_microscope)
Saída:
Getting templates available
- Escolha o template do Next:
? Choose a template for your project:
Angular
Astro
Hexo
❯ Next
React
Vue
Vite
- Selecione a opção
latest (static supported)
:
? Choose the version: (Use arrow keys)
12.3.1 (SSR supported)
❯ latest (static supported)
Agora, a CLI do Next seguirá o processo e inicializará o seu projeto.
- Escolha o modo
deliver
:
? Choose the deliver mode: [Use arrows to move, type to filter]
Compute
> Deliver
- Você pode optar por iniciar um servidor de desenvolvimento local ou não.
? Do you want to start a local development server? (y/N)
Os próximos passos dependem de sua resposta.
- Se você optou por executar um servidor de desenvolvimento local.
- Se você optou por não executar um servidor de desenvolvimento local.
- Instale as dependências do projeto. Digite
y
quando a interação solicitar:
Do you want to install project dependencies? This may be required to start local development server (y/N)
O processo de build ocorrerá e retornará um erro. Adicione o output dentro do arquivo next.config.js / ts
:
output: "export"
Seu arquivo next.config.js
ficará como o exemplo a seguir:
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
output: "export"
}
module.exports = nextConfig
Aguarde até que a instalação seja concluída.
Saída:
Your edge application was built successfully
[Vulcan] [Server] › ✔ success Function running on port http://localhost:3000
- No navegador, vá para
http://localhost:3000/
e você verá o seu projeto Next em execução.
Quando o seu projeto está em execução localmente, você ainda pode implantá-lo. Para fazer isso:
- Pare a execução no terminal com
control + c
. - Acesse a pasta do projeto:
cd [nome-do-seu-projeto]
- Implante o projeto:
azion deploy
- Aguarde enquanto o projeto é construído e implantado na Plataforma de Edge da Azion.
Após a implantação ser concluída, você receberá um domínio para acessar o seu projeto Next na plataforma da Azion.
Aguarde alguns minutos para que a propagação ocorra e, em seguida, acesse a sua aplicação usando o domínio fornecido, que deve ser semelhante a https://xxxxxxx.map.azionedge.net
.
Após indicar que você não deseja executar um servidor local, implante o projeto.
- Digite
y
para a seguinte interação, indicando que deseja implantar o projeto:
Do you want to deploy your project?
- Instale as dependências do projeto. Digite
y
quando a interação solicitar:
Do you want to install project dependencies? This may be required to start local development server (y/N)
O processo de build ocorrerá e retornará um erro. Adicione o output dentro do arquivo next.config.js / ts
:
output: "export"
Seu arquivo next.config.js
ficará como o exemplo a seguir:
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
output: "export"
}
module.exports = nextConfig
- Aguarde enquanto o projeto é construído e implantado na plataforma da Azion.
Após a implantação ser concluída, você receberá um domínio para acessar o seu projeto Next na Plataforma da Azion.
Aguarde alguns minutos para que a propagação ocorra e, em seguida, acesse a sua aplicação usando o domínio fornecido, que deve ser semelhante a https://xxxxxxx.map.azionedge.net
.
import ContributorList from '~/components/ContributorList.astro'
Contribuidores Contributor