Я создал приложение, которое использует сервисы 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
е.
Спасибо за помощь!