.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.
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.
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:
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-configSe 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.
※Esta página é uma tradução não oficial da documentação oficial do Nuxt.js.
A página correspondente na documentação oficial está aqui:
https://nuxt.com/docs/3.x/guide/directory-structure/env