EmberJS,如何为不同的“环境”管理不同的“配置变量”

时间:2015-12-04 13:34:28

标签: javascript ember.js ember-cli environments ember-2.0.0

emberjs 标签下有几个问题,讨论如何管理不同的环境,但所有问题都只适用于非常具体的场景。

我正在寻找如何为不同的环境设置不同的配置变量的一般解决方案。

假设示例我的开发环境有一个API网址,而我的生产环境有另一个API网址。

wget http://example.com/controller/action/param -O NUL

在我的适配器中,我想使用相应的API网址:

production_api_url: "http://production.server.com/api"
development_api_url: "http://development.server.com/api"

1 个答案:

答案 0 :(得分:5)

在Ember 2.2和EmberCLI中,它可以像现在这样开箱即用:

为每个环境设置URLS

# /app/adapters/application.js
import ActiveModelAdapter from 'active-model-adapter';

export default ActiveModelAdapter.extend({
  namespace: 'api',
  host: [[API_URL]]
});

使用适配器中的URL:

# /config/environments.js
...
if (production === 'production') {
  ENV.API_HOST = 'http://production.server.com'
}

if (environment === 'development') {
  ENV.API_HOST = 'http://development.server.com'
}
...