@jakebixby
@trabus
father
ember-cli contributor
tacofarian
// from inside your project
ember g in-repo-addon my-addon
// installs into:
lib/my-addon/** this should only be used for development. `ember serve` should not be used in production!
For instance, using it to stub analytics or environment data during development.
{{content-for 'head'}}
{{content-for 'head-footer'}}
{{content-for 'body'}}
{{content-for 'body-footer'}}For instance, you can use it to bring in
ember-cli-es5-shim for PhantomJS bind() support only when testing.
// lib/navigation/addon/components/breadcrumb-nav.js
// lib/navigation/addon/templates/components/breadcrumb-nav.hbs
// lib/navigation/app/components/navigation/breadcrumb-nav.js
// app/templates/application.hbs
{{navigation/breadcrumb-nav path=path}}
// lib/my-addon/addon/route-logger.js
export default Ember.Route.reopen({
logHistory: Ember.on('activate', function(){
console.log('ROUTE: ',this.get('routeName'));
})
});// app.js
import Ember from 'ember';
import Resolver from 'ember/resolver';
import loadInitializers from 'ember/load-initializers';
import config from './config/environment';
import 'my-addon/route-logger'; //<== your addon
var App;
App = Ember.Application.extend({
...// from inside your project
ember g in-repo-addon my-addon
// installs into:
lib/my-addon/*// from inside your project
ember g component foo-bar -ir my-addon
// generates:
lib/my-addon/addon/components/foo-bar.js
lib/my-addon/addon/templates/components/foo-bar.hbs
lib/my-addon/app/components/foo-bar.jsember generate <blueprint> <name> -ir <addon-name>
Example repo at: