fgu*_*len 1 javascript environments ember.js ember-cli ember.js-2
在emberjs标签下有几个问题,讨论如何管理不同的环境,但所有问题都只适用于非常具体的场景.
我正在寻找一种如何为不同环境设置不同配置变量的通用解决方案.
比方说,我的开发环境有一个API URL,生产环境有另一个API URL .
production_api_url: "http://production.server.com/api"
development_api_url: "http://development.server.com/api"
Run Code Online (Sandbox Code Playgroud)
在我的适配器中,我想使用适当的API URL:
# /app/adapters/application.js
import ActiveModelAdapter from 'active-model-adapter';
export default ActiveModelAdapter.extend({
namespace: 'api',
host: [[API_URL]]
});
Run Code Online (Sandbox Code Playgroud)
在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'
}
...
Run Code Online (Sandbox Code Playgroud)
使用适配器中的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
});
Run Code Online (Sandbox Code Playgroud)