Переменные среды Netlify, заданные в пользовательском интерфейсе, вводятся как неопределенные при запуске локального сервера разработки

#environment-variables #netlify #netlify-cli

Вопрос:

Я установил некоторые переменные среды в пользовательском интерфейсе Netlify.

Смотрите здесь:

введите описание изображения здесь

Я пытаюсь использовать их в своем коде следующим образом:

     console.log("AUTH0_DOMAIN:");
    console.log(process.env.AUTH0_DOMAIN);
    console.log("AUTH0_CLIENT_ID:");
    console.log(process.env.AUTH0_CLIENT_ID);
    console.log("AUTH0_AUDIENCE:");
    console.log(process.env.AUTH0_AUDIENCE);
 

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

введите описание изображения здесь

Но все они проходят так undefined , как показано здесь, в консоли:

введите описание изображения здесь

Так что же я делаю не так?

Почему они проходят как неопределенные?

P.S. Я знаю, что не должен использовать здесь секретные ключи, потому что они будут раскрыты, но я все равно хочу знать, как это сделать для несекретных вещей.

ОБНОВЛЕНИЕ: Переменные среды также не определены после развертывания live в Netlify. Таким образом, он сломан в живой версии и версии для разработчиков.

ОБНОВЛЕНИЕ 2: Присвоение его переменной, как указано ниже, также не работает:

 const a_d = process.env.AUTH0_DOMAIN;
console.log(a_d); // This prints undefined
 

Ответ №1:

Я создаю приложение Vue.

Оказывается, все переменные Vue env должны иметь префиксы VUE_APP_ внутри кода и пользовательского интерфейса Netlify.

Так, например, это становится const authDomain = process.env.VUE_APP_AUTH0_DOMAIN; в коде, и вы также должны использовать VUE_APP_AUTH0_DOMAIN в пользовательском интерфейсе Netlify.

Ответ №2:

Это решило проблему для меня:

 netlify link
 

netlify link Команда свяжет ваш локальный проект с Netlify. См.документы.

Я не думал, что это необходимо использовать netlify link , потому что я уже установил интерфейс командной строки Netlify и автоматически развертывал свой сайт с помощью GitHub, но, по-видимому, это необходимо.