Skip to content

Latest commit

 

History

History
37 lines (21 loc) · 1.72 KB

readme.md

File metadata and controls

37 lines (21 loc) · 1.72 KB

What is This?

Switching to a more 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 install RequireJS?
  • What about non-AMD libraries and frameworks?
  • What about dependency management?
  • What about optimization or build processes (concatenation, minification)?
  • What about configuration?

This repo, along with the associated video tutorial on Nettuts+ should give you an excellent start. Also, at some point, be sure to consider Yeoman with RequireJS support.

Setup

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

npm install requirejs

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

npm install bower

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.

bower install

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:

build/build.sh

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 app.build.jsfor 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 deal with any performance hits from using @import.