backbone js with lodash, ready for browserify


A fork of backbone designed for use with lodash and browserify.

npm install backdash


Line 20 changed from:

var _ = require('underscore');


var _ = require('lodash');


Line 8 changed from:

"underscore"  : ">=1.5.0"


"lodash": "2.4.1"

This version of backdash is based on Backbone 1.1.2 and Lodash 2.4.1

Use those versions explicitly in any other module that will build into the target project. Multiple versions of lodash in the dependency tree will cause multiple versions to appear in the built browserify bundle.

Also, it is helpful to run npm dedupe after adding modules to the project in order to optimize files within node_modules and, consequently, during dependency resolution at build.

First, install lodash and backdash:

npm install lodash
npm install backdash

Then, in each model/collection/view/router, use exactly like Backbone

var _ = require('lodash');
var B = require('backdash');
var ContentView = B.View.extend({

As before, lodash and jQuery (or an api-compatible library such as Zepto) must exist on the window (or, as called in backbone source, root). When building with browserify, the easiest solution is to either:

  • If loading jQuery from a CDN, explicitly set B.$ = global.$; immediately after the first require('backdash') (likely in the entry file used to build the project)
  • require('jquery') before you first require('backdash')