1. Code
  2. Web Development

A RequireJS, Backbone, and Bower Starter Template


Switching to a modular approach to writing JavaScript is unfortunately a more difficult process than we might hope. Once you understand the concept of AMD, you then have to figure out the logistics: how do you setup RequireJS? What about non-AMD libraries? What about dependency management? What about configuration and optimization?

Using This Starter Template

The repo for the video tutorial should give you an excellent starting point, when beginning new RequireJS + Backbone projects. Once you're comfortable with the process, also, at some point, be sure to consider Yeoman with RequireJS support.

Quick Setup

First, of course, download this repo. Then, from the Terminal (assuming Node.js installed), install RequireJS.

Next, we need an easy way to deal with dependency management. We'll use Bower, from the guys at Twitter.

Let's now install the dependencies for this project. I'm assuming that we're building a Backbone project, so I've listed RequireJS, jQuery, Underscore, and Backbone as dependencies.

Please note that we're using the AMD versions of both Backbone and Underscore to make the setup process as easy as possible.

When ready to build the project, run:

this will create a new `dist` directory, copy the files over, run the r.js optimizer on assets, and clean it the file structure a bit for production. Refer to for configuration options.

CSS Imports

If you're not using a preprocessor, feel free to modularize your stylesheets, and @import them into a master stylesheet. During the build process, r.js will merge these files together, so that you don't have to worry about any performance hits from using @import.

Looking for something to help kick start your next project?

Envato Market has a range of items for sale to help get you started.