EmberCLI运行时configuration

我们在我们的基础架构中运行EmberCLI应用程序,我的任务是使其与我们的其他服务更好地协作。 关于EmberCLI有一点有趣的地方在于它的所有configurationvariables都被默认的烧写到了build中。 (具体在<meta>标签)。

我无法find提供运行时configuration的方法。 我们有一个“API_URL”环境variables提供给我们所有的服务,所以他们可以findAPI。 什么是运行时提供此url到EmberCLI的build议方式,所以我可以避免重build,并具有我们的前端应用程序完全构builddocker容器。

如果你想使用一个环境variables来configurationember-cli-dotenv将会有所帮助。 它允许你在config/enviroment.js访问一个环境variables:

 // config/environment.js module.exports = function(environment){ return { apiUrl: process.env.API_URL } }; 

您必须将ember-cli-build.js使用的环境variables列入白名单:

 // ember-cli-build.js module.exports = function(defaults) { var app = new EmberApp(defaults, { dotEnv: { clientAllowedKeys: ['API_URL'] } }); return app.toTree(); }; 

简短的说明:configurationvariables是通过ember-cli烘焙到构build中的,因为在构build之后,ember-cli完成了它的工作。 生成的文件应该由像nginx这样的普通networking服务器来提供服务。 可以用ember serve启动的networking服务器不应该用于生产。