backbone-events-standalone
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>
</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");
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