最新版本§ 1

require.js 2.3.6 压缩版 带注释版

在浏览器中开始使用 require.js 所需的一切。

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

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

如果您在 Node 中运行,并希望使用 npm 通过 npm 安装此文件,请参阅与 Node 一起使用页面以获取更多信息。

有关其用法的更多信息,以及如何获取 JAR 文件以在 Rhino/Nashorn 下运行它,请参阅r.js 自述文件

插件§ 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.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 优化器的错误修复,但它使用 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 优化器中

  • 优化器在解析模块的依赖项时使用Esprima 2.0。这允许使用一些 ES6 功能。Esprima 2.0 可以解析的任何内容都是支持的(在 xpcshell 中运行时,仍然使用Reflect.parse)。
  • r.js 优化器现在在 Nashorn 中运行.
  • 扩展了对一些以!function(a) {...`开头的 UMD 包装文件的支持。如果您使用UMD node 包来生成您的 UMD 包装器,请升级到 [email protected] 或更高版本以获得与 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

只是一个错误修复/维护版本。完整的更改列表

2.1.11

一些错误修复,最值得注意的添加是一个优化器选项,wrapShim。这将在 define() 调用中包装 shimmed 依赖项,以便在构建后当它们的上游依赖项也是具有依赖项的 AMD 模块时,它们可以更好地工作。

最值得注意的情况可能是使用 AMD 感知的 Backbone 版本,但对依赖于 Backbone 的脚本使用 shim 配置。如果这是您的用例,那么在优化器配置中设置wrapShim: true可能会解决您可能看到的任何构建后问题。更多详细信息请参阅错误报告

完整的更改列表

2.1.10

主要是一个维护版本,并改进了在重用通过 npm 安装的代码时的一些情况。加载器还有两个新的配置选项

  • nodeIdCompat:npm 安装的一些节点模块使用example.jsexample等模块 ID 交替使用。将此配置选项设置为 true 将适应该样式。almond 0.2.9+ 也支持此选项。
  • bundles:一种更紧凑的方式来列出属于捆绑 ID 的一组模块 ID,并支持加载器插件资源 ID。

对于优化器,mainConfigFile选项现在可以采用包含配置的文件路径数组。后面的值优先于前面的值。

完整的更改列表

2.1.9

完整的更改列表

主要是一个修复错误的维护版本。require.js 中有一个新的skipDataMain选项来避免 data-main 工作,这对于应该让主内容页面的 requirejs 处理 data-main 的浏览器扩展很有用。

2.1.8

一个小版本,用于修复优化器在解析配置调用以进行修改时出现的问题。

2.1.7

此版本的主要变化

  • 对于 xpcshell,优化器使用内置的 Reflect 解析器 API,而不是 Esprima。xpcshell,尤其是在 Linux 和 Windows 上,堆栈空间有限,无法正常使用 Esprima。为了适应这一变化,r.js 内部使用的一些解析方法从标记扫描转向树遍历。您可能会看到的唯一可见输出变化是在转换后的代码中使用空格字符的方式不同。
  • 源映射支持已更新为使用规范中指定的新 //# 语法。此更改仍在浏览器中进行,因此如果您需要在 2.1.7 中使用源映射或 sourceURL 支持,则可能需要使用 Firefox Aurora 或 Chrome Canary 通道。浏览器支持级别应该会在大约六周内得到改善。

完整的更改列表

2.1.6

源映射支持 已扩展。以前,它仅支持从压缩的捆绑代码到未压缩的捆绑代码。如果使用 optimize: 'uglify2',它现在将返回到分离的、未捆绑的文件。

源映射支持仍被视为实验性的,因此您可能会发现错误。如果您发现了一个,请提交一个 r.js issue,最好附带一个测试用例。

完整的更改列表

2.1.5

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

完整的更改列表

2.1.4

快速发布了一个在 r.js 优化器的 2.1.3 版本中出现的错误。因此,即使 require.js 现在有 2.1.4 版本,它也与 2.1.3 相同,并且优化器与 2.1.3 相同,除了此修复程序

  • 错误 356:始终需要进行 cssPrefix 规范化

如果没有此修复程序,在某些情况下,2.1.3 会在某些优化的 CSS 文件中插入“undefined”,从而使它们无法使用。

2.1.3

维护版本。一个可能值得注意的变化

require.toUrl() 现在可以为传递给它的没有扩展名的字符串值正确生成 URL。以前版本的 toUrl() 会自动附加“.js”扩展名。如果您依赖于该行为,那么当您更新到 2.1.3 时,您可能需要进行代码更改以自行附加 .js 扩展名

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

text 插件已更新为也适用于此更改,因此如果您想为文本资源生成无扩展名路径,请务必升级到 2.0.4 版本的 text.js

toUrl 与具有扩展名的值的正常使用继续以相同的方式工作。

完整的更改列表

2.1.2

此版本的主要变化在于优化器

  • 优化器现在可以 在浏览器中运行,以启用基于 Web 的库自定义构建。
  • “uglify2”现在是允许的“optimize”值,使用 UglifyJS 2.1.11。
  • 源映射 的实验性支持。
  • 优化器现在运行速度更快,并且有一些 速度选项

完整的更改列表

2.1.1

2.1.0

请参阅 升级到 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

对以下内容的小错误修复

1.0.7

对以下内容的小错误修复

1.0.6

此版本的主要目的是修复 1.0.5 中的一个回归,即当在命令行上传递时,优化器的“dir”配置选项未正确应用。

另一个值得注意的变化:优化器现在支持 onBuildRead 和 onBuildWrite 函数,这些函数在读取或写入 JS 模块以进行优化构建层时调用。这允许执行一些正则表达式工作来修改它们的内容。

对以下内容的小错误修复

1.0.5

对以下内容的小错误修复

1.0.4

对以下内容的小错误修复

1.0.3

对以下内容的小错误修复

1.0.2

对以下内容的小错误修复

1.0.1

只是与以下内容相关的小错误修复

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

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