Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
NPM-friendly package for Ember.JS
JavaScript Other
branch: master

Update README.md

Add notice that this repo is no longer being updated.
latest commit 93aff2a2d2
@charlesjolley authored
Failed to load latest commit information.
examples/contacts Update to m2
vendor Bump to latest ember
.gitignore Remove vendor from .gitignore
.gitmodules Add ember-data
.npmignore Don't include Jakefile in published package
Jakefile.coffee Update to m2
README.md Update README.md
application.js Update to m2
data.js Update to m2
debug.js Update to m2
ember.js
handlebars.js Update to m2
metal.js Update to m2
metamorph.js Generated ember files
package.json Bump to latest ember
packager.js Working helpers afer precompilation
routing.js Update to m2
rsvp.js Update to m2
runtime.js Update to m2
states.js Update to m2
views.js Update to m2

README.md

This repo is no longer being updated.

The Ember.js Core Team has taken ownership of the ember NPM package. Here's hoping we get a new build soon!

Ember for Node

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.

Using This Package

Just add ember as a requirement to your package.json:

"dependencies": {
  ...
  "ember": "~0.9"
}

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.

require('ember');

MyApp = Ember.Application.create({
  hi: function() { console.log("Hi! I'm an app!"); }
});

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:

require('ember/states');

MyState = Ember.State.create({

});

Using Ember with Convoy

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:
require('ember'); // <- convoy will automatically pull in all of Ember.

UserView = Ember.View.extend({
  template: Ember.Handlebars.compile('{{firstName}} {{lastName}}')
});

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 = convoy({
  'app.js': {
    packager: 'javascript',
    compilers: {
      '.hbr': require('ember/packager').HandlebarsCompiler
    }
  }
});

app = express.createServer();
app.use(pipeline.middleware());

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

require('ember/views');

UserView = Ember.View.extend({
  template: require('./user_template') // template in user_template.hbr
});

For a fully functioning example of an application, check out the examples folder.

Something went wrong with that request. Please try again.