EmberJS,如何为不同的 "environments" 管理不同的 "config variables"
EmberJS, How to manage different "config variables" for different "environments"
在emberjs标签下有好几个问题都是讲如何管理不同的environments但是都只是申请非常具体的场景。
我正在寻找如何为不同的环境设置不同的配置变量的通用解决方案。
举个例子,我有一个 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]]
});
在 Ember 2.2 和 EmberCLI 中,它可以像这样开箱即用:
为每个 环境设置 URLS:
# /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
});
在emberjs标签下有好几个问题都是讲如何管理不同的environments但是都只是申请非常具体的场景。
我正在寻找如何为不同的环境设置不同的配置变量的通用解决方案。
举个例子,我有一个 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]]
});
在 Ember 2.2 和 EmberCLI 中,它可以像这样开箱即用:
为每个 环境设置 URLS:
# /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
});