commonjs-require

commonjs-require JS library on GitHub commonjs-require JS library on npm Download commonjs-require JS library

browser-side CommonJS require() function.

Version 1.4.6 License MIT
commonjs-require has no homepage
commonjs-require JS library on GitHub
commonjs-require JS library on npm
Download commonjs-require JS library
Keywords
commonjsmodulerequiredefine
No default JS file set by the package author so the URL is guessed. You can always browse all package files to use another one.

CommonJS Require

browser-side CommonJS require() function.

Usage

Add commonjs-require.js as script src to your site.

Example

<script src="commonjs-require.js"></script>
<script>
require.register("module", function(exports, require, module){
  /* Some Module content */
  module.exports = "content"
})
alert(require('module'))
</script>

This will alert content

Automated wrapping into require.register

Why not browserify?

Browserify requires (scnr) that you use some magic AST/require.resolve mechanism to built your CommonJS package/files for the browser. This is really complex - especially if you have to bundle different files for different sections of your website, use dynamic requires or have circular dependencies.

API

  • require(name) — loads registered module and returns its exports.
  • require.register(name, fn) — registers new module. fn should have signature exports, require, module.
  • require.list() — lists all registered modules.

Node Module support

commonjs-require emulates the actual loading mechanism from Node.js in that it delegates all require() calls to Module._load() (Module is exposed via the "module" module). This improves support for modules which rely on the Node module system implementation (for example Mockery).

Module API

  • Module._load(request, parent) - does the actual module loading and instantiation
  • Module._cache - is the cache of loaded modules, can be cleared by assigning an empty object
  • Module._resolveFilename - determines the actual module id (e.g. adds "index" if its missing)

License

MIT