最新版本§ 1

require.js 2.3.7 压缩版 含注释

所有你需要的、用于在浏览器中开始使用 require.js 的内容。

r.js:优化器及 Node/Rhino/Nashorn/xpcshell 适配器 下载

r.js 文件允许你运行优化器,也可以在 Node、Rhino、Nashorn 或 xpcshell 中运行模块。

如果你正在使用 Node,并希望通过 npm 安装此文件,请参阅与 Node 配合使用页面了解更多信息。

关于其用法的信息,以及如何获取可在 Rhino/Nashorn 下运行的 JAR 文件,请参阅r.js README.

插件§ 2

这些是有用的加载器插件,具有与 require.js 本身相同的许可条款。下载插件文件并将其放置在你的 "data-main" main.js 脚本旁边。

text 下载

加载文本文件并将它们视为依赖项。非常适合加载模板。当使用优化器时,文本字符串可以被内联。

domReady 下载

等待 DOM 准备就绪。用于暂停顶级应用程序逻辑的执行,直到 DOM 准备好进行查询/修改时很有用。

cs(CoffeeScript) 下载

加载使用 CoffeeScript 编写的文件。通过这个插件,可以在浏览器中轻松编写 CoffeeScript,它能够参与优化器的优化过程,并且可以通过RequireJS 适配器在 Node 和 Rhino/Nashorn 中正常工作。这是实现跨环境模块化 CoffeeScript 的最佳方式。项目主页提供了关于如何安装和使用的更多信息。

i18n 下载

加载字符串资源包用于国际化(i18n),包含不同国家/语言/区域设置对应的特定资源包。

发布说明§ 3

2.3.7

2.3.6

对优化器的小幅更新。

2.3.5

主要是优化器更新,主要是升级了 UglifyJS 到 2.8.29。

2.3.4

仅对优化器进行了更新以使用 Esprima 4.0。

2.3.3

优化器针对 esprima 和 uglify-js 依赖进行了更新,并修复了构建过程中插件使用的 map 配置。require.js 对调用插件归一化超过一次的情况进行了修复。alameda 1.1.1同样修复了调用插件归一化超过一次的问题。

2.3.2

修复了一个阻止 2.3.x 优化器在 Java 8+ 的 jjs 中运行的问题。存在一个require.js 的变更和一个r.js 优化器的变更.

2.3.1

相较于 2.3.0 只有一处更改,且该更改在优化器中。修复了打包的 uglifyjs 如何声明 addFile 函数的问题。没有此修复,在 Node 0.10/0.12 中会导致错误。新版本的 Node 不受影响。

2.3.0

查找依赖的语法糖#1582中发生了轻微变化。现在更快速并且应能捕捉到更多合法的依赖情况。你不应该注意到任何负面影响,但鉴于该机制的重要性,最好将次版本升至 2.3。r.js 优化器也更好地处理较大的目录更改。如果你正在使用 2.2,建议你升级到 2.3。

alameda 同时升级到了 1.1.0以包含与 requirejs 2.3 相同的依赖查找更改。

完整变更列表:

2.2.0

有关 2.2 版本更高层面动机的更多细节。

完整变更列表:

2.1.22

主要问题:require.js 的 2.1.21 版本引入了一个多余的全局变量。虽然代码库中使用了 jshint,但当时并未正确配置来捕捉这个问题,但现在已修复。只有 require.js 加载器发生了更改。没有涉及 r.js 优化器的 bug 修复,但它仍依赖 require.js。

完整变更列表:

2.1.21

r.js 优化器的主要更改:更新了 Esprima 和 UglifyJS 依赖。对于 require.js:修复了几个错误条件。

完整变更列表:

2.1.20

主要修复:require.js 中的一个修复允许在构建文件中进行顺序错乱的 define 调用,以及优化器中的一个修复可检测另一种 UMD 模式并跳过对其内部结构的检查。

完整变更列表:

2.1.19

require.js 中新增了一个onNodeCreated钩子函数,允许扩展 requirejs 以支持子资源完整性(SRI)。优化器中对 esprima 和 uglifyjs2 的更新。

完整变更列表:

2.1.18

主要的变化位于 r.js 优化器中:

  • 升级到 Esprima 2.2.0 用于依赖追踪。有助于正确解析使用了一些 ES2015 特性的模块,如模板字符串。
  • 修复了检测脚本是否导出公共可见的 AMD API 并应在构建输出中提升的机制。新的检测机制比之前更为严格,因此如果你的带有公共 AMD API 的脚本未被提升,请提交一个r.js 问题报告.

完整变更列表:

2.1.17

显著更改位于 r.js 优化器中:用于依赖追踪的 Esprima 升级到 2.1.0,以及围绕 "use strict" 处理的一个修复,这应有助于一些使用 React 的加载器插件或构建场景。

完整变更列表:

2.1.16

主要的变化位于 r.js 优化器中:

完整变更列表:

2.1.15

主要是修复了 2.1.14 版本中 r.js 优化器的一个回归问题,即某些 define() 调用未被正确识别。此错误最常见的表现是构建输出中出现了多余的define('jquery', function(){})或者命名空间构建无法正常工作。2.1.15 的修复仅涉及优化器。完整的变更列表如下:

2.1.14

对 2.1.12 做了一些额外的回归修复。一个是修复了嵌套插件 ID 的规范化问题,比如 "pluginA!pluginbB!resource",另一个是优化器错误检测 UMD 封装代码的问题.

2.1.13

2.1.12 版本在 ID 规范化方面存在回归问题。2.1.13 修复了该回归问题,建议不要使用 2.1.12,而应改用 2.1.13。

2.1.12

只是一个 bug 修复/维护性版本。完整变更列表如下:

2.1.11

一些 bug 修复,其中最显著的新增功能是优化器选项wrapShimshimExport。它将 shimmed 依赖包装在一个 define() 调用中,使得它们在构建后与其上游依赖一同作为 AMD 模块更易于工作。

最典型的场景可能是当你使用了一个支持 AMD 的 Backbone 版本,但又为依赖于 Backbone 的脚本使用了 shim 配置。如果这是你的使用场景,则设置wrapShim: trueshimExport: truebug 报告页面查看更多详情。.

完整变更列表:

2.1.10

主要是维护版本,并改进了对通过 npm 安装代码的复用情况。加载器还新增了两个配置选项:

  • nodeIdCompat: 由 npm 安装的一些 node 模块使用的模块 ID 如example.jsexample是等价的。将此配置选项设为 true 可以适应这种风格。almond0.2.9+ 也支持这个选项。
  • bundles: 一种更紧凑的方式列出属于一个 bundle ID 的模块 ID 集合,并支持加载器插件资源 ID。

对于优化器,mainConfigFileconfig

完整变更列表:

2.1.9

完整变更列表:

主要是维护版本用于修复 bug。新增了一个skipDataMainrequire.js 中的选项,用于避免 data-main 的处理,这对让主内容页面的 requirejs 处理 data-main 的浏览器扩展有用。

2.1.8

一个小版本修复了一个关于解析配置调用以进行修改的问题.

2.1.7

本次发布的主要变化包括:

  • 对于 xpcshell,优化器使用内建的 Reflect 解析 API 代替 Esprima。特别是在 Linux 和 Windows 上,xpcshell 的堆栈受到限制,无法正常使用 Esprima。为了适应这一变化,r.js 内部使用的部分解析方法从 token 扫描改为树遍历。你可能看到的唯一可见输出变化是在转换后的代码中空格字符的使用不同。
  • 源映射支持更新为根据规范使用新的 //# 语法。这一更改还在各大浏览器中逐步推进,因此如果你需要在 2.1.7 中使用源映射或 sourceURL 支持,可能需要使用 Firefox Aurora 或 Chrome Canary 浏览器通道。大约六周后浏览器支持将会更好。

完整变更列表:

2.1.6

源映射支持已扩展。之前仅支持从最小化的、打包的代码回到非最小化的、打包的代码。如果optimize: 'uglify2'使用了拆分模式,现在将可以回溯到独立的、未打包的文件。

源映射支持仍视为实验性的,因此你可能会遇到 bug。如果你发现了,请提交一个r.js 问题报告,最好是附带测试用例。

完整变更列表:

2.1.5

最大的变化是对在xpcshell中运行优化器和加载 AMD 模块的支持。除此之外,这只是一个维护版本。

完整变更列表:

2.1.4

快速发布以修复 r.js 优化器中 2.1.3 版本引入的一个 bug。因此,虽然 require.js 现在有 2.1.4 版本,但它与 2.1.3 相同,优化器也与 2.1.3 相同,只是进行了以下修复:

  • Bug 356: cssPrefix 的规范化必须始终发生

如果没有此修复,在某些情况下 2.1.3 会在优化后的 CSS 文件中插入 "undefined",导致文件不可用。

2.1.3

维护版本。一个可能引起注意的变化:

require.toUrl()现在可以正确生成传递给它的字符串值的URL,且不会自动添加“.js”扩展名。之前版本的toUrl()会自动追加“.js”扩展名。如果你依赖这种行为,在升级到2.1.3后,可能需要修改代码以手动添加.js扩展名:

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

文本插件也已更新以适应该变化,因此如果你想为文本资源生成不带扩展名的路径,请务必升级到text.js的2.0.4版本.

对带有扩展名的toUrl常规使用方式仍然保持原有行为。

完整变更列表:

2.1.2

此版本的重大变动在于优化器:

  • 优化器现在可以在浏览器中运行,以支持基于网页的自定义库构建。
  • “uglify2”现已成为允许的“optimize”选项,使用UglifyJS 2.1.11。
  • 实验性支持source maps.
  • 优化器现在运行得更快,并引入了一些速度选项.

完整变更列表:

2.1.1

2.1.0

有关 writeFile 示例,请参见升级至2.1页面.

2.0.6

此版本的主要目标是在切换至esprima进行所有模块解析后清理一些边缘问题。最值得注意的是,findNestedDependencies应能再次正常工作。捆绑的UglifyJS也更新至1.3.3。

完整修复列表:

2.0.5

可能最显著的变化包括:

完整修复列表:

2.0.4

与2.0.3相同,但回滚了r.js中导致日志错误的一项更改。

2.0.3

2.0.2

2.0.1

2.0.0

1.0.8

小量bug修复内容包括:

1.0.7

小量bug修复内容包括:

1.0.6

此版本主要目的是修复1.0.5中的一个问题,即命令行传递的优化器"dir"配置选项未能正确应用。

其他显著变化:优化器现在支持onBuildRead和onBuildWrite函数,这些函数在优化构建层读取或写入JS模块时被调用。这允许通过正则表达式对文件内容进行修改。

小量bug修复内容包括:

1.0.5

小量bug修复内容包括:

1.0.4

小量bug修复内容包括:

1.0.3

小量bug修复内容包括:

1.0.2

小量bug修复内容包括:

1.0.1

仅修复几个小bug,包括:

  • 允许简化CommonJS包装模块使用完整URL
  • 对使用变量作为工厂函数的模块进行依赖AST解析
  • 捕获更多应应用“namespace”优化器选项的情况

require.js和r.js优化器的详细变更列表: