Переменные среды не определены NextJS

#javascript #reactjs #environment-variables #next.js

Вопрос:

Я хочу установить простой логин с простым паролем в .env, но когда я пытаюсь использовать эту переменную, она принимает неопределенное значение.

Код:

.env.местный

 REACT_APP_PASS_TOKEN=d61b100cacb60432f97b39b70d9ff5067242a5d9da1acad54738fc65562b8e1b
 

login.js

(Первый журнал печатает значение правильно, но второй-нет)

 const pass = process.env.REACT_APP_PASS_TOKEN


console.log(`KEY: ${pass}`)

const handleLogin = () => {
    console.log(`KEY: ${pass}`)
  }
 

Комментарии:

1. Измените префикс REACT_APP_ на NEXT_PUBLIC_ : Nextjs ENV docs

2. Это работает!!!!!!!

Ответ №1:

Вам нужен какой-то механизм для управления этим процессом. Попробуйте с помощью dotenv. Просто установите это с помощью

 npm i dotenv
 

После этого вам нужно подключить этот модуль к вашему основному приложению.

 require('dotenv').config();
 

Попробуйте определить переменную и назначить ей ключ API.

 const psw = process.env.REACT_APP_PASS_TOKEN;
 

Затем просто поменяйтесь именами var.
В результате должно получиться так:

.env

 REACT_APP_PASS_TOKEN=d61b100cacb60432f97b39b70d9ff5067242a5d9da1acad54738fc65562b8e1b
 

login.js

 const pass = process.env.REACT_APP_PASS_TOKEN;
require("dotenv").config();

const psw = process.env.REACT_APP_PASS_TOKEN;

console.log(`KEY: ${psw}`);

const handleLogin = () => {
  console.log(`KEY: ${psw}`);
};

handleLogin();