11. ES6 Module Transpiler
• https://github.com/square/es6-module-transpiler
• Created
by Yehuda Katz and Brian Donovan
• Already
used in Ember-related projects, including Handlebars,
RSVP.js, and the Ember debug extension
• Transpiles
• Output
runtime
to AMD (RequireJS) or CommonJS modules
is easy to read & debug, no extra obfuscation or
12. Import statements aren’t cool
• Modules
• Ember
are awesome, but manually wiring them up is not
is built on convention:
• App.PostController
• App.PostRoute
• App.PostView
• post.hbs
• How
can we use similar conventions in a module system?
13. Introducing the resolver, your
new best friend
• Remember
our awesome
new structure?
• app/
• components/
• controllers/
• post.js
• Each JS file is a module that
export defaults a Route,
View, Controller, or Model
• models/
• These
• templates/
files are resolved
through an extra dependency,
called the resolver
• post.js
• routes/
• post.js
• post.hbs
• utils/
• views/
• post.js
15. Things that are resolver-friendly
• Routes
• Models (this.modelFor)
• Controllers (this.controllerFor, needs, {{render}})
• Views ({{view}})
• Components
• Ember
and Helpers (Ember 1.2.0 beta)
Data: Adapters, Serializers, and Transforms
• Templates
16. Other things you should know
• Testing
is easier: just import what you need (see test
examples that come with Ember App Kit)
• Modules
• JSHint
updates in progress (?)
• Slower
• Work
can have source maps*
builds than rake-pipeline :(
continues!