Далее JS реализует переменные окружения с помощью DefinePlugin из Webpack. Все переменные, используемые с process.env
, заменяются переменными в .env
во время компиляции. Из документов:
Далее. js заменит process.env.customKey на 'my-value' в build time.
В отличие от серверной части, Next JS по-прежнему является клиентской средой для запуска JavaScript в браузере, и в настоящее время нет способов скрыть эти ключи от браузера.
Если вам нужно спрятать ключ, вам придется добавить сервер (или функцию без сервера).
Вы можете добавить конечную точку API и вызвать ее из внешнего интерфейса, что подключитесь к сторонней службе и верните извлеченные данные.
Один из способов сделать это - добавить .env
и загрузить его в процесс Node с помощью dotenv .
* 1023. *
.env API_KEY=@api-key-moviedb
next.config. js
require('dotenv').config();
module.exports = {
/* config options here */
};
Использование
process.env.API_KEY
Таким образом, ваш ключ API не будет открыт.
Next. js с примером dotenv
API-маршруты в Next . js