Download RequireJS
- Latest Release§ 1
- Plugins§ 2
- text§ 2.1
- domReady§ 2.2
- cs (CoffeeScript)§ 2.3
- i18n§ 2.4
- Release Notes§ 3
Latest Release§ 1
If you want 1.0: Link to 1.0.require.js 2.1.6 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.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:
- Bug 356: cssPrefix normalization always needs to happen
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:
- The optimizer can now run in the browser, to enable web-based custom builds of your library.
- "uglify2" is an allowed "optimize" value now, using UglifyJS 2.1.11.
- Experimental support for source maps.
- The optimizer runs faster now, and has some speed options.
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:
- require.js: fix for a 'use strict' issue in Safari 6: should only show up in certain non-optimized scenarios.
- r.js optimizer: changed over to esprima for all dependency tracing. This set the stage for allowing some forms of JavaScript 1.8 to be optimized, with the help of some regexps.
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:
- allowing full URLs for simplified CommonJS wrapped modules
- AST parsing of dependencies for modules that use a variable for the factory function
- catching more cases that should have the "namespace" optimizer option applied
Detailed list of changes for require.js and the r.js optimizer: