我想根据构建环境设置我的RESTAdapter主机。
我认为这个值可以存储在config/environment.js
中,如下所示:
if (environment === 'development') {
ENV.API_ENDPOINT = 'http://localhost:8080';
}
if (environment === 'production') {
ENV.API_ENDPOINT = 'http://api.myserver.com';
}
但我不确定如何在构建过程中将信息插入adapter/application.js
。
答案 0 :(得分:24)
您可以在config/environment.js
:
// snip
APP: {
// Here you can pass flags/options to your application instance
// when it is created
API_HOST: 'http://192.168.1.37:3000' // default setting
}
};
if (environment === 'development') {
ENV.APP.LOG_TRANSITIONS = true;
ENV.APP.API_HOST = 'http://192.168.1.37:3000'; // override
}
然后,您可以在其他文件中使用此设置:
// app/adapters/application.js:
import DS from "ember-data";
export default DS.RESTAdapter.extend({
host: window.MyAppENV.APP.API_HOST
});
将MyApp
替换为您的应用程序。
切换到使用ember --environment
选项的构建环境:
ember serve --environment production
或
ember build --environment development
我还没有看到是否有办法动态提供价值,但您可以提供任意数量的环境。
更新:添加完整性,并根据韦斯顿的评论,Environments记录此功能。