requisite

Requisite bundles client-side code and templates. It features asynchronous
module loading for optimal performance of large applications,
CoffeeScript and Jade language support out of the box
and comes with a connect/express middleware for rapid
development.

Requiste allows you to structure your code using CommonJS (Node.js)
modules. From a given starting point or entry module, requisite will
trace your application's dependencies and bundle all require'ed modules
together. Requiste's require supports asynchronous loading of assets/modules
when an optional callback argument is provided.