Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Another implementation of require for the browser.

Run. For your life.

It's pretty easy to set up a server

pathname = require("path")
ModuleLoader = require("./module_loader")
new ModuleLoader 
    # env: "production"
    # server: require("express").createServer()
    ignorepath: pathname.resolve("./.ignoremodules")
    module_root: pathname.resolve("./node_modules")
    packages: ["underscore", "underscore.string", "jquery", "jwerty", "", "share", "alpha_simprini"]

There are options

  • module_root: (REQUIRED) A fully resolved path which is the node_modules directory to load code from.

  • packages: (REQUIRED) A list of npm package names. They will be looked up in ./node_modules

  • ignorepath: (RECCOMENDED) A path to a file with patterns of files to ignore when packing and requiring.

  • env: production or development (default is development)

  • server: Uses the express server api. If you don't provide one one will be made for you at port 2334.

Ignoring files you don't want!

  • ignorepath: './.moduleignore'

    Sort of like .gitiginore, but without any fancy matching. SOME packages will have files that MUST be ignored in the browser. MOST packages will have files that SHOULD be ignored in the browser.

Using it

Load the node_modules.js script:

<script type="text/javascript" src="//localhost:2334/node_modules.js"></script>

And require your modules:

_ = require("underscore")


  • jquery - You can't do the equivalent of window.$ = require("jquery"); $ is overwritten as undefined before you can get to it.



  • added module_root option. This allows the loader to see the node_modules you want it to, otherwise it was just loading from the node_modules of module_loader, which wasn't what you wanted it to do at all.
  • documented and reccomending
  • added CORS for development mode script loading


  • added an overview of loaded packages at /node_modules
  • turned off /node_modules in production mode
  • fixed example


  • Instition of changelog.
Something went wrong with that request. Please try again.