Скрытие ENV VAR из связанного файла webpack при развертывании в Интернете - PullRequest
0 голосов
/ 04 августа 2020

В настоящее время я создаю простое приложение для прогноза погоды, в котором я получаю вызов API OpenWeatherMap и отображаю данные. Проблема в том, что мне трудно скрыть свой ключ API. Я узнал, как скрыть это, используя переменные env, а затем используя dotenv-webpack, чтобы использовать process.env для ссылки на мой ключ API. Однако, когда я попытался объединить и развернуть его на Github Pages, я заметил, что в пакете main.js нет ссылки на мой .env. Вместо этого он отображает его как строку.

В моем коде у меня есть следующее:

    const api = process.env.API_KEY;
    const lat = lat;
    const lon = lon';

    const response = await fetch(
      `https://api.openweathermap.org/data/2.5/onecall?lat=${lat}&lon=${lon}&
    exclude=minutely&appid=${api}&units=metric`,
      { mode: 'cors' }
    );

в связанном файле, это выглядит так:

const e="apiKeyInPlainText",t="49.895138",n="-97.138374",d=await fetch(`https://api.openweathermap.org/data/2.5/onecall?lat=${t}&lon=${n}&\n    exclude=minutely&appid=${e}&units=metric`,{mode:"cors"})

Есть ли способ заставить веб-пакет хорошо работать с секретами (env var), которые предлагает Github Pages, без ручного редактирования связанного main.js перед развертыванием? Я знаю, что при использовании клиентского подхода вкладка Network в Chrome devtools в любом случае будет отображать полный URL-адрес вызова API, но я хотел узнать обо всем, что я могу сделать в этой ситуации, прежде чем повышать уровень до сервера. побочные вызовы API в будущем.

Заранее спасибо и простите меня, если я неправильно использовал некоторую терминологию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...