Aurelia Webpack использует переменные среды в index.e js и / или webpack.config. js - PullRequest
2 голосов
/ 05 января 2020

Я создал приложение, которое использует сервисы Google. Чтобы правильно заблокировать мои ключи API, я ограничил их использование в зависимости от компьютера, с которого они работают. С учетом этих ограничений мне нужно было создать отдельный ключ API разработки. Проблема в том, что мне теперь нужно переключаться между тем, какой ключ мое приложение Aurelia использует при сборке, так что при использовании au build --env dev будет использоваться ключ API разработки, а au build --env prod будет использоваться рабочий ключ API Google.

Я довольно хорошо знаком с добавлением переменных среды в aurelia_project/environments/x.js и их использованием в моих .js классах с помощью инъекций, однако, поскольку теги скриптов Google находятся в файле index.ejs, я не могу понять, как их получить здесь.

Например, в index.ejs

<script src="https://maps.googleapis.com/maps/api/js?key=<key binding here>&libraries=places"></script>

Я заметил, что в этом же файле есть синтаксис привязки <%- htmlWebpackPlugin.options.metadata.property_name>%>, который получает свое значение из файла webpack.config.js, и я понять, как он доступен через плагины, а именно:

plugins: [
    ...
    new HtmlWebpackPlugin({
      template: 'index.ejs',
      metadata: {
        // available in index.ejs //
        title, server, baseUrl //<- new property here
      }
    }),

Но это все еще вызывает вопрос: как мне сделать этот файл осведомленным о переменных среды?

Дополнительная информация: Я попытался переместить тег script в файл app.html, но получил множество неопределенных ошибок в службах Google, поэтому похоже, что я глубоко ограничен наличием тега script в файле index.ejs е.

Спасибо за помощь!

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