1

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

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

假设我有一个用于我的开发环境的 API URL 和另一个用于我的生产环境的 API URL。

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

在我的适配器中,我想使用适当的 API URL:

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

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

1 回答 1

5

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

为每个环境设置 URL :

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

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

使用适配器中的 URL :

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

export default ActiveModelAdapter.extend({
  namespace: 'api',
  host: config.API_HOST
});
于 2015-12-04T13:34:28.100 回答