.env

В файле .env устанавливаются переменные окружения
Добавьте файл .env в .gitignore для сохранения конфиденциальных данных перед пушем в ваш репозиторий.

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

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

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

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

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

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

Terminal
npx nuxi dev --dotenv .env.local

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

В коде приложения вместо обычных переменных env следует использовать Runtime Config.
In your application code, you should use Runtime Config instead of plain env variables.

Production

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

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

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

Файлы .env не используются в продакшене, поэтому переменные окружения устанавливаются явно, используя инструменты и методы, которые предоставляет ваш хостинг. Вот несколько распространенных подходов:

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

Предпросмотр в Production

Для предварительного просмотра локального продакшена, мы рекомендуем использовать nuxi preview, поскольку при использовании данной команды файл .env будет загружен в process.env для удобства. Обратите внимание, что эта команда требует установки зависимостей в директории пакета.

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

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

Обратите внимание, что для статического сайта невозможно задать runtime-конфигурацию после предварительного рендеринга вашего проекта.

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