1、require
瞭解requirejs以前首先明白什麼是模塊化;
一、什麼是模塊化?
模塊化設計是指在對必定範圍內的不一樣功能或相同功能不一樣性能、不一樣規格的產品進行功能分析的基礎上,劃分並設計出一系列功能模塊,經過模塊的選擇和組合能夠構成不一樣的產品,以知足市場的不一樣需求的設計方法。
個人理解就是根據不一樣的功能和不一樣的產品屬性分紅不一樣的模塊,而後模塊之間相互關聯,構成項目(粗淺實用);
二、模塊化的優勢?
①、.相對獨立性,能夠對模塊單獨進行設計、製造、調試、修改和存儲,這便於由不一樣的專業化企業分別進行生產;
②、性能穩定、結構簡單、成本低廉;
③、便於維護,有利於團隊開發;
三、js中模塊化有哪些產品?
①、sea.js
②、require.js
四、require.js
RequireJS是一個很是小巧的JavaScript模塊載入框架,是AMD規範最好的實現者之一。
require中的依賴是一個數組,即便只有一個依賴,你也必須使用數組來定義,
requir API的第二個參數是callback,一個function,是用來處理加載完畢後的邏輯。
五、加載文件jquery
①、經過define函數定義了一個模塊,而後再頁面中使用:數組
②、加載模塊框架
require.config是用來配置模塊加載位置;模塊化
經過paths的配置會使咱們的模塊名字更精煉,paths還有一個重要的功能,就是能夠配置多個路徑;函數
shim配置非AMD模塊輸出,沒有用define來申明的模塊;requirejs
③、requirejs提供了一種叫"主數據"的功能,咱們首先建立一個main.js:
而後再頁面中使用下面的方式來使用requirejs:性能
加載requirejs腳本的script標籤加入了data-main屬性,這個屬性指定的js將在加載完reuqire.js後處理,咱們把require.config的配置加入到data-main後,就可使每個頁面都使用這個配置,而後頁面中就能夠直接使用require來加載全部的短模塊名,data-main還有一個重要的功能,當script標籤指定data-main屬性時,require會默認的將data-main指定的js爲根路徑,是什麼意思呢?如上面的data-main="js/main"設定後,咱們在使用require(['jquery'])後(不配置jquery的paths),require會自動加載js/jquery.js這個文件,而不是jquery.js,至關於默認配置了:
ui
④、main的設置spa