Wes*_*ton 11 ember.js ember-cli
我想根据构建环境设置我的RESTAdapter主机.
我假设值可以config/environment.js像这样存储:
if (environment === 'development') {
ENV.API_ENDPOINT = 'http://localhost:8080';
}
if (environment === 'production') {
ENV.API_ENDPOINT = 'http://api.myserver.com';
}
Run Code Online (Sandbox Code Playgroud)
但我不确定如何adapter/application.js在构建过程中插入信息.
Lee*_*eft 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
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以在其他文件中使用此设置,如下所示:
// app/adapters/application.js:
import DS from "ember-data";
export default DS.RESTAdapter.extend({
host: window.MyAppENV.APP.API_HOST
});
Run Code Online (Sandbox Code Playgroud)
替换MyApp为您的应用程序.
您可以使用以下ember --environment选项切换到构建环境:
ember serve --environment production
Run Code Online (Sandbox Code Playgroud)
要么
ember build --environment development
Run Code Online (Sandbox Code Playgroud)
我还没有看到是否有办法动态提供价值,但你可以提供任意数量的环境.
更新:添加完整性,并根据Weston的评论,环境记录此功能.
| 归档时间: |
|
| 查看次数: |
8918 次 |
| 最近记录: |