nuxt logo

Tradução da Documentação (Não Oficial)

.env

Um arquivo .env especifica suas variáveis de ambiente de tempo de build/desenvolvimento.

Este arquivo deve ser adicionado ao seu arquivo .gitignore para evitar enviar segredos para o seu repositório.

Tempo de Desenvolvimento, Build e Geração

O Nuxt CLI tem suporte embutido para dotenv no modo de desenvolvimento e ao executar nuxt build e nuxt generate.

Além de quaisquer variáveis de ambiente de processo, se você tiver um arquivo .env no diretório raiz do seu projeto, ele será carregado automaticamente no tempo de desenvolvimento, build e geração. Quaisquer variáveis de ambiente definidas lá estarão acessíveis dentro do seu arquivo nuxt.config e módulos.

.env
MY_ENV_VARIABLE=hello

Observe que remover uma variável do .env ou remover o arquivo .env completamente não desconfigurará valores que já foram definidos.

Arquivo Personalizado

Se você quiser usar um arquivo diferente - por exemplo, usar .env.local ou .env.production - você pode fazer isso passando a flag --dotenv ao usar o Nuxt CLI.

Terminal
npx nuxt dev --dotenv .env.local

Ao atualizar o .env no modo de desenvolvimento, a instância do Nuxt é reiniciada automaticamente para aplicar novos valores ao process.env.

No código da sua aplicação, você deve usar Configuração de Runtime em vez de variáveis de ambiente simples.

Produção

Após o seu servidor ser construído, você é responsável por definir as variáveis de ambiente ao executar o servidor.

Seus arquivos .env não serão lidos neste ponto. Como você faz isso é diferente para cada ambiente.

Esta decisão de design foi feita para garantir compatibilidade em vários ambientes de implantação, alguns dos quais podem não ter um sistema de arquivos tradicional disponível, como plataformas serverless ou redes de borda como Cloudflare Workers.

Como os arquivos .env não são usados em produção, você deve definir explicitamente as variáveis de ambiente usando as ferramentas e métodos fornecidos pelo seu ambiente de hospedagem. Aqui estão algumas abordagens comuns:

  • Você pode passar as variáveis de ambiente como argumentos usando o terminal:

    $ DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs

  • Você pode definir variáveis de ambiente em arquivos de configuração de shell como .bashrc ou .profile.

  • Muitos provedores de serviços em nuvem, como Vercel, Netlify e AWS, fornecem interfaces para definir variáveis de ambiente através de seus painéis, ferramentas CLI ou arquivos de configuração.

Pré-visualização de Produção

Para fins de pré-visualização de produção local, recomendamos usar nuxt preview já que, ao usar este comando, o arquivo .env será carregado no process.env para conveniência. Observe que este comando requer que as dependências estejam instaladas no diretório do pacote.

Ou você pode passar as variáveis de ambiente como argumentos usando o terminal. Por exemplo, no Linux ou macOS:

Terminal
DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs

Observe que para um site puramente estático, não é possível definir a configuração de runtime após o seu projeto ser pré-renderizado.

Veja também guide > going-further > runtime-config

Se você quiser usar variáveis de ambiente definidas no tempo de build, mas não se importa em atualizá-las posteriormente (ou só precisa atualizá-las reativamente dentro do seu aplicativo), então appConfig pode ser uma escolha melhor. Você pode definir appConfig tanto dentro do seu nuxt.config (usando variáveis de ambiente) quanto dentro de um arquivo ~/app.config.ts no seu projeto.

Veja também guide > directory-structure > app-config