@fred
В Next.js настройка переменных окружения осуществляется через использование файлов с определёнными именами и через обращение к процессу Node.js. Вот несколько способов, как это можно сделать:
.env
Next.js по умолчанию поддерживает файлы переменных окружения .env
. Вы можете создать следующие файлы в корне проекта:
Например, вы можете добавить следующий файл .env.local
:
1 2 |
DATABASE_URL=http://localhost:5432/mydb API_KEY=youra***** |
Чтобы получить доступ к переменным окружения в коде Next.js, вы должны использовать префикс NEXT_PUBLIC_
для переменных, которые вы хотите использовать на стороне клиента. Например:
1
|
NEXT_PUBLIC_API_URL=https://api.example.com |
В коде Next.js вы можете получить доступ к этой переменной следующим образом:
1
|
const apiUrl = process.env.NEXT_PUBLIC_API_URL; |
Вы также можете передавать переменные окружения во время выполнения через командную строку, особенно для секретов, которые не должны храниться в файле.
1
|
NEXT_PUBLIC_API_URL=https://api.example.com next dev |
next.config.js
В next.config.js
вы можете также задать некоторые переменные окружения, но это менее распространённый способ, если вам нужно их использовать как в серверной, так и в клиентской части:
1 2 3 4 5 |
module.exports = { env: { CUSTOM_KEY: 'value', }, }; |
Однако, хотя это и делает переменную доступной и на сервере, и на клиенте, это не рекомендуется для хранения секретов, так как эти переменные будут встроены в бандл клиента.
Эти способы позволяют гибко конфигурировать окружение вашего приложения в зависимости от специфики использования.