varvet / serenade.js

Client side MVC framework
http://serenadejs.org
Other
524 stars 27 forks source link

Define as an AMD and CommonJS module #90

Open paglias opened 11 years ago

paglias commented 11 years ago

Making Serenade define itself as an AMD or CommonJS module would be very useful and really easy to implement.

It can be achieved by wrapping the code this way:

(function (root, factory) {
  if (typeof define === 'function' && define.amd) {

    // AMD
    define(['exports'], factory);
  } else if (typeof exports !== 'undefined') {

    // CommonJS
    var target;
    if(typeof module !== undefined){
      target = module.exports;
    }else{
      target = exports;
    }

    factory(target);
  } else {

    // Browser global
    root.Serenade = factory({})
  }
}(this, function (Serenade) {

  // Code goes here

  return Serenade;

}));