Aurelia Webpack在index.ejs和/或webpack.config.js中使用环境变量

我创建了一个使用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文件中的脚本标签。

感谢您的帮助!

xvjingkuaile 回答:Aurelia Webpack在index.ejs和/或webpack.config.js中使用环境变量

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2817488.html

大家都在问