我想根据构建环境设置我的 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
在构建过程中。
您可以在您的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
});
Replace MyApp
与您的申请。
您可以使用以下命令切换到构建环境ember --environment
option:
ember serve --environment production
or
ember build --environment development
我还没有看到是否有一种方法可以动态地提供值,但是您当然可以提供任意数量的环境。
更新:为了完整性而添加,并根据韦斯顿的评论,环境 http://www.ember-cli.com/#Environments记录此功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)