模塊化開發的緣由:jquery
一、引入的js過多而後在加載的過程當中容易出現假死的狀態,致使頁面會發生白屏webpack
二、變量名的問題 在多人協做開發的時候容易出現變量名的衝突 面向對象es6
三、引入優先級的問題web
模塊化開發分類:瀏覽器
(1).requireJS:babel
參考網址:http://www.requirejs.cn/ app
RequireJS 是基於 AMD 規範的模塊加載器,它不依賴於任何 JavaScript 新語言特性,能夠直接運行在瀏覽器環境中。這是個比較老、曾經很是流行的模塊加載器,它主要提供的功能是: 異步
ES6 的 Modules:async
可是 es6 Modules 是JavaScript新特性,目前瀏覽器還不支持,不能直接用,就算之後能夠直接用了,若是但願作到按需、異步加載的話也須要配合相應的加載器來加載 JS 文件。模塊化
可是若是你用 webpack 的話,直接用 ES6 是最好的選擇。由於:
是徹底覆蓋 RequireJS 的全部功能的。
(2).seaJs
(3).commonJS
(4).module
AMD CMD commonjs
模塊化:將一個大的功能拆分紅若干個小的功能 每個功能都是一個模塊
原則:高內聚 低耦合
require使用
0、require其實就是一個js模塊加載器
一、引入requirejs
二、設置異步加載 defter async="true"
三、data-main:加載一個入口文件
四、遵循requirejs的規範AMD
無論AMD規範仍是CMD規範仍是COMMONJS規範
所謂的規範就是若是定義模塊 如何接受模塊
AMD如何定義模塊
define()
步驟