Visite o projeto: https://camp-team.vercel.app/
Antes de iniciar o projeto localmente, renomeie (ou copie) o arquivo .env.example
para .env.local
.
Perceba que a variável de ambiente NEXT_PUBLIC_USERS_BASE_URL=http://localhost:3000/api/users
guarda um caminho de um endpoint que roda na PORTA 3000. Em NextJS essa é a porta padrão, fique atento a esse valor caso ocorra algum erro de conexão de API. Para simplificar garanta que a PORTA 3000 esteja livre.
Feito isso, escolha prosseguir como Modo Desenvolvimento ou Build.
- https://nextjs.org/docs/api-reference/cli#development
- https://nextjs.org/docs/api-reference/cli#production
Baixe as dependências:
npm i
Execute em modo de desenvolvimento:
npm run dev
Baixe as dependências:
npm i
Execute o processo de build:
npm run build
Execute em modo de produção:
npm start
São utilizados dois modos, veja:
USERS_BASE_URL
: Guarda o endpoint usado no lado do servidor.NEXT_PUBLIC_USERS_BASE_URL
: Guarda o endpoint usado no lado do cliente.
Variáveis de ambiente que tem seus valores alterados conforme o contexto, ou seja, os valores podem mudar em ambiente de desenvolvimento, testes, produção e etc... No caso dessa aplicação ficou assim:
-
Modo de Desenvolvimento:
USERS_BASE_URL=https://randomuser.me/api/1.4
NEXT_PUBLIC_USERS_BASE_URL=http://localhost:3000/api/users
-
Modo de Produção:
USERS_BASE_URL=https://randomuser.me/api/1.4
NEXT_PUBLIC_USERS_BASE_URL=https://camp-team.vercel.app/api/users
NOTA: Em NextJS o prefixo NEXT_PUBLIC
torna visível a variável no lado do cliente, cuidado ao utilizar tokens!
Note que no diretório src/env, também existem variáveis de escopo global, todas são potencialmente públicas e foram utilizadas para guardar valores como número máximo de paginação, quantidade de itens retornados por consulta e etc.
PUB_RESULTS
: quantidade de itens retornadosPUB_MAX_PAGE
: número máximo de paginaçãoPUB_SCREEN_MODE
: define se o padrão de tela será dark ou lightPUB_APP_ROUTES
: lista de rotas do front-end para geração dinâmica do menu na barra de navegação
NOTA: Acesse a documentação oficial do NextJS: NextJS Doc. Acesse também a página do NextJS.