最新發行§ 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 相依性,以及修正外掛程式在建置中使用的對應設定。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 以進行相依性追蹤,並修正「嚴格模式」處理,這應有助於使用 React 的某些載入器外掛或建置場景。

完整變更清單

2.1.16

顯著變更在於 r.js 最佳化器

  • Esprima 2.0 由最佳化器用於剖析模組的相依性。這允許使用一些 ES6 功能。Esprima 2.0 可以剖析的內容就是支援的內容(在 xpcshell 中執行時,Reflect.parse 仍會使用)。
  • r.js 最佳化器現在在 Nashorn 中執行.
  • 擴充支援一些以 !function(a) {...` 開頭的 UMD 包裹檔案。如果你使用 UMD 節點套件 來產生你的 UMD 包裹,請升級至 umd@3.0.0 或更新版本,以與 r.js 最佳化器完全相容。

完整變更清單

2.1.15

主要修正 r.js 最佳化器中 2.1.14 的回歸,其中 找不到一些 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。這會將 shim 相依性包裹在 define() 呼叫中,以便在建置後它們可以更好地運作,而它們的上游相依性也是具有相依性的 AMD 模組。

最顯著的案例可能是使用 Backbone 的 AMD 感知版本,但對相依於 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。特別是在 Linux 和 Windows 上的 xpcshell 有堆疊限制,因此無法正常使用 Esprima。為了配合此變更,r.js 內部使用的部分剖析方法已從令牌掃描改為樹狀結構瀏覽。您可能會看到的唯一可見輸出變更,是轉換後的程式碼中使用空格字元的方式不同。
  • 原始碼對應表支援已更新,以使用規範中指定的 //# 語法。此變更仍在各個瀏覽器中進行中,因此如果您需要 2.1.7 的原始碼對應表或 sourceURL 支援,您可能需要使用 Firefox Aurora 或 Chrome Canary 通道。瀏覽器支援等級應會在約六週後改善。

完整變更清單

2.1.6

原始碼對應表支援 已擴充。先前,它僅支援從縮小的捆綁程式碼轉到未縮小的捆綁程式碼。如果使用 optimize: 'uglify2',它現在會回到分離的未捆綁檔案。

不過,原始碼對應表支援仍被視為實驗性質,因此您可能會發現錯誤。如果您發現錯誤,請提交 r.js 問題,最好附上測試案例。

完整變更清單

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.js 的 2.0.4 版本

正常使用具有副檔名的 toUrl 值會繼續以相同方式運作。

完整變更清單

2.1.2

此版本的重大變更在於最佳化器

  • 最佳化器現在可以在瀏覽器中執行,以啟用基於網路的客製化建立您的函式庫。
  • "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 剖析
  • 捕捉應套用「namespace」最佳化器選項的更多案例

require.js 和 r.js 最佳化器的詳細變更清單