RequireJS-模組化開發架構

來源:互聯網
上載者:User

標籤:

一、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-模組化開發架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.