Download RequireJS

Latest Release§ 1

If you want 1.0: Link to 1.0.

require.js 2.1.10 Minified With Comments

All you need to start using require.js in the browser.

r.js: Optimizer and Node/Rhino/xpcshell adapter Download

The r.js file allows you to run the optimizer as well as run modules in Node, Rhino or xpcshell.

If you are running in Node, and want to use npm to install this file via npm, see the Use with Node page for more information.

For information on its use, as well as how to get the JAR files to run it under Rhino, see the r.js README.

Plugins§ 2

These are useful loader plugins that have the same license terms as require.js itself. Download the plugin file and place it as a sibling to your "data-main" main.js script.

text Download

Load text files and treat them as dependencies. Great for loading templates. The text strings can be inlined in an optimized build when the optimizer is used.

domReady Download

Wait for the DOM is ready. Useful for pausing execution of top level application logic until the DOM is ready for querying/modification.

cs (CoffeeScript) Download

Load files written in CoffeeScript. With this plugin, it is easy to code in CoffeeScript in the browser, it can participate in the optimizer optimizations, and it works in Node and Rhino via the RequireJS adapter. This is the best way to do cross-environment, modular CoffeeScript. The project home has more information on how to install and use it.

i18n Download

Load string bundles used in internationalization (i18n) that are made up of separate country/language/locale-specific bundles.

Release Notes§ 3

2.1.10

Mainly a maintenance release, and improves some cases when reusing code that was installed via npm. There are two new config options for the loader too:

And for the optimizer, the mainConfigFile option can now take an array of file paths that have configs in them. Later values take precedent over earlier values.

Full list of changes:

2.1.9

Full list of changes:

Mainly a maintenance release to fix bugs. There is a new skipDataMain option in require.js to avoid the data-main work, which can be useful for browser extensions that should let the main content page's requirejs handle the data-main.

2.1.8

A small release to fix an optimizer issue with parsing config calls for modifications.

2.1.7

The main changes for this release:

Full list of changes:

2.1.6

Source map support has been expanded. Previously, it was just supported for going from minified, bundled code to the unminified, bundled code. If optimize: 'uglify2' is used, it will now go back to the separated, unbundled files.

Source map support is still considered experimental though, so you may find bugs. If you find one, file an r.js issue, ideally with a test case.

Full list of changes:

2.1.5

Biggest change is support for running the optimizer and loading AMD modules in xpcshell. Other than that, just a maintenance release.

Full list of changes:

2.1.4

Quick release for a bug that slipped in the 2.1.3 release in the r.js optimizer. So even though require.js now has a 2.1.4 version, it is the same as 2.1.3, and the optimizer is the same as 2.1.3 except for this one fix:

Without this fix, in some cases 2.1.3 would insert "undefined" in some optimized CSS files, making them unusable.

2.1.3

Maintenance release. A change that may be noticeable:

require.toUrl() now correctly generates URLs for string values passed to it without an extension. Previous versions of toUrl() would append a ".js" extension automatically. If you relied on that behavior, when you update to 2.1.3, then you may need to do a code change to append the .js extension yourself:

require.toUrl('some/value') + '.js'

The text plugin has been updated to also work with this change, so if you want to generate non-extension paths for text resources, be sure to upgrade to to the 2.0.4 version of text.js.

Normal use of toUrl with a value that has an extension continues to work the same.

Full list of changes:

2.1.2

The big changes for this release are in the optimizer:

Full list of changes:

2.1.1

2.1.0

See the Upgrading to 2.1 page.

2.0.6

The main focus of this release was cleaning up some rough edges after switching to esprima for all module parsing. Most notably, findNestedDependencies should work correctly again. The bundled UglifyJS was updated to 1.3.3 too.

Complete list of fixes:

2.0.5

Probably the most notable changes:

Complete list of fixes:

2.0.4

Same as 2.0.3, but rolled back a change in r.js that caused a logging error.

2.0.3

2.0.2

2.0.1

2.0.0

1.0.8

Small bug fixes to:

1.0.7

Small bug fixes to:

1.0.6

Main purpose of the release is to fix a regression in 1.0.5 where the optimizer's "dir" config option was not applied correctly when passed on the command line.

The other notable change: the optimizer now supports onBuildRead and onBuildWrite functions that are called when JS modules are read or written for an optimized build layer. This allows doing some regexp work to modify their contents.

Small bug fixes to:

1.0.5

Small bug fixes to:

1.0.4

Small bug fixes to:

1.0.3

Small bug fixes to:

1.0.2

Small bug fixes to:

1.0.1

Just small bug fixes related to:

Detailed list of changes for require.js and the r.js optimizer: