我创建了一个使用Google服务的应用程序。为了正确锁定我的API密钥,我限制了它们的使用,具体取决于它们在何处运行。由于这些限制,我需要创建一个单独的开发API密钥。问题是我现在需要在构建时使用我的Aurelia应用程序使用的密钥之间进行切换,以便使用au build --env dev
将使用开发Google API密钥,而au build --env prod
将使用生产Google API密钥。>
我对在aurelia_project/environments/x.js
中添加环境变量并通过注入在我的.js
类中使用它们非常熟悉,但是由于在index.ejs
文件中找到了Google脚本标签,我我无法弄清楚如何把他们带到这里。
例如在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
}
}),
但这仍然引出一个问题:如何使该文件知道环境变量?
其他信息::我曾尝试将脚本标签移至app.html
文件,但在Google服务上加载了大量未定义的错误,因此我似乎深陷于限制index.ejs
文件中的脚本标签。
感谢您的帮助!