Как установить переменные среды для URL-адресов API, паролей, секретных ключей…
В этом примере приложению необходимо получить всех пользователей из API и отобразить их в виде списка. Но URL-адрес API зависит от того, в какой среде он работает:
- если приложение работает локально, оно должно получать пользователей с адреса «http: // localhost: 3004».
- если приложение запущено в производственной среде, оно должно получать пользователей из «https: // production-api-example».
1. Добавьте файл «.env.local».
Создайте файл в корневом каталоге и назовите его .env.local
Затем установите переменную среды для разработки:
SERVER="http://localhost:3004"
Если вы хотите сохранить локально конфиденциальные переменные, такие как пароль, ключи API и секреты, убедитесь, что вы не фиксируете .env.local
в своем диспетчере контроля версий (например, Github), добавив .env.local
в .gitignore
.
2. Добавьте файл «next.config.js».
Создайте файл в корневом каталоге и назовите его next.config.js
. Затем вставьте приведенный ниже код:
module.exports = { env: { SERVER: process.env.SERVER, }, };
3. Доступ к переменной среды в вызове API.
После установки следующего файла конфигурации вы можете получить доступ к переменной среды через process.env
и использовать ее в вызове API.
const server = process.env.SERVER; getUsers = () => { return fetch(`${server}/users`) .then(res => res.json()) };
Теперь приложение должно работать локально (возможно, вам потребуется перезапустить сервер разработки). Однако нам все еще нужно установить переменную SERVER для производства.
4. Добавьте производственную переменную в Vercel.
Откройте проект приложения на Vercel и нажмите "Настройки". Прокрутите вниз до раздела переменных среды, установите переменную производственной среды и нажмите «Добавить».
Запустите новое развертывание, чтобы применить ваши изменения, например, путем отправки / объединения изменений в вашу основную ветку.
Это все!
Для получения дополнительной информации, пожалуйста, обратитесь к документации Next.js и Vercel:
Ниже репозиторий приложения списка пользователей для справки:
Не стесняйтесь оставлять отзывы и вопросы в комментариях :)