I added some configurations to myapp/config/environment
:
if (environment === \'development\') {
ENV.APP.AuthURL = \'http://localhost:5000/\';
}
There are a couple modern ways, as of this writing, when trying to access it from your application:
import ENV from 'your-application-name/config/environment';
your-application-name
should be what's in the modulePrefix
key of config/environment.js
and the name
key of package.json
Ember.getOwner(this).resolveRegistration('config:environment');
Number one assumes you're using Ember CLI and is detailed in the ember docs under Configuring Your App:
Ember CLI ships with support for managing your application's environment. Ember CLI will setup a default environment config file at config/environment. Here, you can define an ENV object for each environment, which are currently limited to three: development, test, and production.
The ENV object contains three important keys:
- EmberENV can be used to define Ember feature flags (see the Feature Flags guide).
- APP can be used to pass flags/options to your application instance.
- environment contains the name of the current environment (development,production or test).
You can access these environment variables in your application code by importing from your-application-name/config/environment.
While @rog's answer is correct and will work for all cases where you are trying to access the config from your application there are some edge cases (such as accessing config from an addon) that it will not work for.
I would recommend checking out the ember-get-config
addon: https://www.emberobserver.com/addons/ember-get-config
Once you install ember-get-config
you can import your config using the following code:
import config from 'ember-get-config';
const { AuthURL } = config;
// now you have access to AuthURL
You can access it by importing environment.js
using the line below:
import config from '../config/environment';
For example, lets say you want to access your configuration in a controller. This is what it would look like:
import Ember from 'ember';
import config from '../config/environment';
export default Ember.Controller.extend({
foo: config.APP.AuthURL
});
If you need to, you can now access it in your controller's template using:
{{foo}}