Ember CLI应用程序中基于环境的主机

Sam*_*off 12 ember-cli

我正在尝试在我的Ember CLI应用程序中配置适配器,以根据环境使用不同的主机.在开发中,我希望它是默认的当前主机(让我通过--proxy选项自定义它,但在生产中我知道它将是http://some.url.

我尝试将我ENV导入我的应用程序适配器:

// adapters/application.js
import DS from "ember-data";
import ENV from "../../config/environment";

export default DS.ActiveModelAdapter.extend({
  host: ENV.host
});
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个tmp/tree_merger../config/environment.js不存在的错误.

and*_*rov 21

你很近.你应该只在目录树中向上走一步(当你在路线,控制器等时,你需要上升两个).

// adapters/application.js
import DS from "ember-data";
import ENV from "../config/environment";

export default DS.ActiveModelAdapter.extend({
  host: ENV.host
});
Run Code Online (Sandbox Code Playgroud)

文档在这里.

请注意,您可能不应该直接在ENV上定义自己的变量.使用ENV.APPconfig/environment.js

var ENV = {
  ...
  APP: {
    // Here you can pass flags/options to your application instance
    // when it is created
    host: 'some_host'
  }
};
Run Code Online (Sandbox Code Playgroud)

并以相同的方式访问它

import ENV from '../config/environment';

export default DS.ActiveModelAdapter.extend({
  host: ENV.APP.host
});
Run Code Online (Sandbox Code Playgroud)