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服务器不应该用于生产。