Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 在生成期间在ember cli应用程序中使用环境值_Ember.js_Ember Cli - Fatal编程技术网

Ember.js 在生成期间在ember cli应用程序中使用环境值

Ember.js 在生成期间在ember cli应用程序中使用环境值,ember.js,ember-cli,Ember.js,Ember Cli,我想根据生成环境设置RestaAdapter主机 我假设该值可以存储在config/environment.js中,如下所示: // app/adapters/application.js: import DS from "ember-data"; export default DS.RESTAdapter.extend({ host: window.MyAppENV.APP.API_HOST }); if(环境===“开发”){ ENV.API_http://localhost:80

我想根据生成环境设置RestaAdapter主机

我假设该值可以存储在
config/environment.js
中,如下所示:

// app/adapters/application.js:
import DS from "ember-data";

export default DS.RESTAdapter.extend({
   host: window.MyAppENV.APP.API_HOST
});
if(环境===“开发”){
ENV.API_http://localhost:8080';
}
如果(环境==‘生产’){
ENV.API_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
});
MyApp
替换为您的应用程序

使用
ember--environment
选项切换到生成环境:

ember serve --environment production

我还没有看到是否有一种方法可以动态地提供价值,但是您当然可以提供您想要的任意多个环境


更新:为了完整性而添加,并且根据Weston的评论,记录了此功能。

您所拥有的正是我所需要的。动态可能有误导性,我的意思是在构建过程中选择环境。现在我知道该问什么了,我在@Millisami上找到了文档,我已经更新了上面关于当前机制的答案。它更改为0.0.47也可以看到:我一定是做错了什么,但是当我引用window.EmberENV.APP.API_HOST时,我得到了错误“无法读取未定义的属性”API_HOST“。已定义window.EmberENV,但未定义window.EmberENV.APP。我错过了什么?