Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Environment-based host in Ember CLI app

Tags:

ember-cli

I'm trying to configure the adapter in my Ember CLI app to use a different host based on the environment. In dev, I want it to be the default current host (letting me customize it via the --proxy option, but in production I know it will be http://some.url.

I tried importing my ENV into my application adapter:

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

export default DS.ActiveModelAdapter.extend({
  host: ENV.host
});

but I'm getting an error that tmp/tree_merger../config/environment.js doesn't exist.

like image 411
Sam Selikoff Avatar asked Aug 11 '14 16:08

Sam Selikoff


1 Answers

You are pretty close. You should only going up one step in the directory tree (when you are in a route, controller, etc you need to go up two).

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

export default DS.ActiveModelAdapter.extend({
  host: ENV.host
});

The documentation is here.

Note you probably shouldn't be defining your own variables directly on ENV. Use ENV.APP in config/environment.js

var ENV = {
  ...
  APP: {
    // Here you can pass flags/options to your application instance
    // when it is created
    host: 'some_host'
  }
};

And access it the same way

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

export default DS.ActiveModelAdapter.extend({
  host: ENV.APP.host
});
like image 156
andorov Avatar answered Nov 15 '22 15:11

andorov