
- RequireJS 教程
- RequireJS - 首頁
- RequireJS - 概述
- RequireJS - 環境設定
- RequireJS - 配置
- RequireJS - AMD 模組
- RequireJS - 定義函式
- RequireJS - 最佳化器
- RequireJS - jQuery
- RequireJS - NodeJS
- RequireJS - Dojo
- RequireJS - CommonJS
- RequireJS - 外掛
- RequireJS 有用資源
- RequireJS - 快速指南
- RequireJS - 有用資源
- RequireJS - 討論
RequireJS - CommonJS
模組格式由 CommonJS 定義。它是在不提供瀏覽器與其他 JavaScript 環境同等選項的情況下定義的。因此,CommonJS 規範建議使用 傳輸格式 和 非同步 require。您可以輕鬆地將傳統的 CommonJS 模組格式轉換為與 RequireJS 相容的格式。但是,並非所有模組都能轉換為新的格式。一些例外情況列在下面:
- 包含用於執行 require 呼叫的條件程式碼的模組。
- 具有迴圈依賴關係的模組。
手動轉換
CommonJS 模組可以透過使用以下語法手動轉換為 RequireJS 格式:
define(function(require, exports, module) { //place CommonJS module content here });
轉換工具
CommonJS 模組可以使用 r.js 專案 轉換工具轉換為 RequireJS 格式,該工具內置於 r.js 檔案中。您應該指定要轉換的檔案路徑和輸出資料夾,如下所示:
node r.js -convert path/to/commonjs/modules/ path/to/output
設定匯出值
在 CommonJS 中的一些系統中,允許透過將匯出值賦值給 module.exports 來設定匯出值。但是 RequireJS 支援更簡單的方法,即從傳遞給 define 的函式中返回值。這樣做的好處是您不需要 exports 和 module 函式引數,因此您可以像下面這樣省略模組定義中的它們:
define(function (require) { var name = require('name'); //Define the module as exporting a function return function () { name.doSomething(); }; });
替代語法
指定依賴項的另一種方法是透過依賴項陣列引數 define()。但是,依賴項陣列中名稱的順序應與傳遞給定義函式 define() 的引數順序匹配,如下所示:
define(['name'], function (name) { return function () { name.doSomething(); }; });
從 CommonJS 包載入模組
要了解模組在 CommonJS 包中載入的位置和包屬性,請使用 RequireJS 透過設定 RequireJS 配置來載入。
最佳化工具
RequireJS 中有一個最佳化工具,可以將模組定義組合到一起,生成最佳化的包以供瀏覽器交付。它作為命令列工具執行,因此您可以將其用作程式碼部署的一部分。
廣告