npm.io
0.2.7 • Published 11 years ago

backbone-events-standalone

Licence
MIT
Version
0.2.7
Deps
0
Vulns
0
Weekly
0
Stars
62

backbone-events-standalone

Build Status

This is an extraction of the Events module of Backbone which can be used standalone (no external dependency), in the browser or in a nodejs environment.

Oh dear. Why another EventEmitter?

This project started because I appreciate the Backbone.Events interface & features while I wanted to keep using it within non-DOM environments (think a Social API Web Worker for example).

I've ported the original Backbone.Events tests to mocha & chai so I can run them within a nodejs environment and ensure the extracted API actually works as expected without the burden of setting up continuous integration of browser tests.

Installation

Bower (for browser use)
$ bower install backbone-events-standalone
NPM (node)
$ npm install backbone-events-standalone

Usage

Standard browser use
<script src="backbone-events-standalone.js"></script>
<script>
  // use BackboneEvents
</script>

Notes:

  • You may want to use the minified version stored in backbone-events-standalone.min.js.
  • Using Bower, files are usually available within bower_components/backbone-events-standalone
AMD
require(["backbone-events-standalone"], function(BackboneEvents) {
  // ...
});
In nodejs/browserify
var BackboneEvents = require("backbone-events-standalone");
API

The BackboneEvents#mixin method helps extending any object or prototype to add eventing support to it:

var myEventEmitter = BackboneEvents.mixin({});
myEventEmitter.on("foo", console.log).trigger("foo", "hello emitter");

// alternatively
function Plop() {}
BackboneEvents.mixin(Plop.prototype);
(new Plop()).on("foo", console.log).trigger("foo", "hello emitter");

BackboneEvents API & usage is the same as Backbone.Events.

Test

$ npm test

License

MIT

Credits

Jeremy Ashkenas, Backbone author

Keywords