.env

Файл .env задаёт переменные окружения для разработки и сборки.
Добавьте файл .env в .gitignore, чтобы не утекали секреты при отправке кода в удалённый репозиторий.

Время разработки, сборки и генерации

Nuxt CLI имеет встроенную поддержку dotenv в режиме разработки, а также при запуске сборки nuxt build и генерации nuxt generate.

Если у вас есть файл .env в корне проекта, то он автоматически загружается во время разработки, сборки и генерации. Любые переменные окружения, установленные там, будут доступны в вашем файле nuxt.config и модулях.

.env
MY_ENV_VARIABLE=hello
Обратите внимание, что удаление переменной из .env или полное удаление файла .env не сбросит уже установленные значения.

Кастомный файл .env

Если вы хотите использовать разные файлы - например, .env.local или .env.production - вы можете передавать флаг --dotenv при использовании Nuxt CLI.

Терминал
npx nuxt dev --dotenv .env.local

При обновлении .env во время разработки, экземпляр Nuxt автоматически перезапускается, чтобы применить новые значения к process.env.

В коде приложения вместо прямого чтения переменных окружения используйте конфигурацию рантайма.

Продакшен

После сборки сервера за установку переменных окружения при запуске отвечаете вы.

На данном этапе ваши .env файлы не будут считываться. Способ их использования зависит от каждой конкретной среды.

Так сделано ради совместимости с разными средами развёртывания: в serverless и на edge-платформах (например, Cloudflare Workers) к файловой системе с .env часто нет доступа.

В продакшене .env не подхватываются автоматически: переменные задаются явно — теми средствами, которые даёт хостинг. Типичные варианты:

  • Вы можете передавать переменные окружения в качестве аргументов, используя терминал;
    $ DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs
  • Вы можете установить переменные окружения в файлах конфигурации оболочки, например в файлах .bashrc или .profile;
  • У большинства облачных провайдеров (Vercel, Netlify, AWS и др.) есть панели, CLI или конфиги для переменных окружения.
В продакшене runtimeConfig подхватывает только переменные окружения с префиксом NUXT_. Подробнее — в разделе «Переменные окружения».

Предпросмотр в продакшене

Для локального предпросмотра продакшен-сборки удобно вызывать nuxt preview: команда подгружает .env в process.env. Перед этим нужны установленные зависимости в каталоге проекта.

Вы можете передавать переменные окружения в качестве аргументов, используя терминал. Например, для Linux или macOS:

Терминал
DATABASE_HOST=mydatabaseconnectionstring node .output/server/index.mjs

У статического сайта после пререндера нельзя изменить runtime-конфигурацию.

Узнать больше Docs > 3 X > Guide > Going Further > Runtime Config.
Если нужны значения из переменных окружения на этапе сборки без дальнейшей синхронизации с .env, либо требуется реактивно менять настройки внутри приложения, подойдёт appConfig: задайте его в nuxt.config (в т.ч. из env) и в ~/app.config.ts.
Узнать больше Docs > 3 X > Directory Structure > App Config.