Ember.js is a framework for building ambitious client-side applications on the web. Now you can use the same Ember tools in node code and in node-based asset pipelines like Convoy.
Just add ember as a requirement to your package.json:
In your code, you can load the entire Ember stack by just requiring the package. This will add Ember to the global namespace in your application.
;MyApp = EmberApplication
If you don't want to use the entire Ember stack, you can just require the specific module that you want. For example, a lot of server side code just needs States for statecharting:
;MyState = EmberState;
Building an Ember application in the browser is very easy when using Convoy. Just require ember in your main application file.
// In some JS module included by convoy:; // <- convoy will automatically pull in all of Ember.UserView = EmberView;
If you want to store your Handlebars templates in a separate file, Ember for Node has a HandlebarsCompiler that will precompile the templates for you. Here is an example Convoy pipeline configuration:
pipeline =;app = express;app;
This will now make
.hbr files available as modules. In your app code, you
can load the template via a normal require:
// user_view.js;UserView = EmberView;
For a fully functioning example of an application, check out the examples folder.
This project checks out the ember source and builds compiled copies for use in the released version. If you want to rebuild this from source, here is what you need to do:
[sudo] npm install -g jake
[sudo] gem install bundler
jake vendor:setup. This should checkout the correct versions of ember and ember-data and set them up to build
jake dietto actually build the assets.
Note that you only need to run
vendor:setup once the first time you install the report or anytime the version of ember or ember-data changes. Afterwards, you should be able to run
dist just to rebuild.
ember and ember-data are linked into this project as git submodules. To update to a newer (or older) version of ember or ember-data, cd into the vendor directory and checkout the version you want. Then cd back to the top level of the repo and commit the updates into git. Once completed, run
jake vendor:setup again to update the contents.
IMPORTANT: The dist command will checkout whichever version of ember or ember-data are set in the submodule, so you must commit to git before rebuilding.