標籤:
一、equireJS 和 SeaJS 都是很不錯的模組載入器,兩者區別如下
1. 兩者定位有差異。RequireJS 想成為瀏覽器端的模組載入器,同時也想成為 Rhino / Node 等環境的模組載入器。SeaJS 則專註於 網頁瀏覽器端,同時通過 Node 擴充的方式可以很方便跑在 Node 伺服器端
2. 兩者遵循的標準有差異。RequireJS 遵循的是 AMD(非同步模組定義)規範,SeaJS 遵循的是 CMD
RequireJS會讓你以不同於往常的方式去寫JavaScript。你將不再使用script標籤在HTML中引入JS檔案,以及不用通過script標籤順序去管理依賴關係。也不會有阻塞(blocking)的情況發生
二、RequireJS的模組入口
script標籤上一個自訂屬性:data-main="main",等號右邊的main指的main.js。這個main指主模組或入口模組。
main.js中就兩個函數調用require.config和require。
require.config用來配置一些參數,它將影響到requirejs庫的一些行為。
require.config的參數是一個JS對象,常用的配置有baseUrl,paths等。
<script data-main="js/main" src="require.js.js"></script>
main.js
1 require.config({2 paths: {3 jquery: ‘jquery-1.7.2‘4 }5 });6 7 require([‘jquery‘], function($) {8 alert($().jquery);9 });
paths參數,使用模組名“jquery”,其實際檔案路徑jquery-1.7.2.js(尾碼.js可以省略)。
我們知道jQuery從1.7後開始支援AMD規範,即如果jQuery作為一個AMD模組運行時,它的模組名是“jquery”。注意“jquery”是固定的,不能寫“jQuery”或其它。
註:如果檔案名稱“jquery-1.7.2.js”改為“jquery.js”就不必配置paths參數了。
一、equireJS 和 SeaJS 都是很不錯的模組載入器,兩者區別如下
一、equireJS 和 SeaJS 都是很不錯的模組載入器,兩者區別如下
RequireJS-模組化開發架構