Initializers provide an opportunity to configure your application as it boots.
There are two types of initializers :
* Application initializers
* Application instance initializers
Application initializers : Application initializers can be created with
Ember CLI's initializer
generator:
ember generate initializer shopping-cart
Let's customize the shopping-cart
initializer to inject a cart
property into all the routes in your application:
app/initializers/shopping-cart.js
:
export function initialize(application) {
application.inject('route', 'cart', 'service:shopping-cart');
};
export default {
initialize
};
Application Instance Initializers : Application instance initializers can be created with Ember CLI's instance-initializer generator
:
ember generate instance-initializer logger
Let's add some simple logging to indicate that the instance has booted:
app/instance-initializers/logger.js
:
export function initialize(applicationInstance) {
let logger = applicationInstance.lookup('logger:main');
logger.log('Hello from the instance initializer!');
}
export default {
initialize
};