簡單了解模組化

2021-10-06 21:43:46 字數 1187 閱讀 2188

webpack是什麼?

webpack打包工具,可以把很多js檔案,css檔案把包成乙個js檔案。

為什麼使用webpack?

沒有模組化的缺點:

1.定義變數的問題,可讀性很差;

2.每個功能函式都有聯絡,**耦合度高,不利於修改**,維護成本高;

3.協作開發的問題,沒有打包工具就會出現很多問題;

傳統的寫法:我們引入多個js標籤

效能問題:script標籤是會造成阻塞載入;谷歌還是ie瀏覽器,每次只能載入6個標籤

作用域問題:

如果有30個標籤,要分五次才能載入完;

問題:每個script標籤都共享同乙個全域性作用域,這很有可能導致汙染全域性變數;

想暴露出去的暴露出去,不想暴露出去就不要暴露出去;

沒有webpack,是怎麼樣去寫模組化的語法呢?

1.模組化一

1.1.通過立即執行函式包裹起來,然後通過window暴露出去;

1.2.問題:script標籤的引入順序問題

2.模組化二

gulp、grunt等工具,通過注釋的方式

2.1.問題1:我們修改乙個檔案,可能就打破了依賴

2.2.問題2:會造成死**

3.模組化三

node commonjs

3.1.問題:沒有瀏覽器的支援

common.js有兩個語法,引入和匯出;

匯出:module.exports=math;

在main.js中引入:var math=require("./math.js");

3.3. node -v ,node main.js

4.模組化四

打包工具browerify

問題:commonjs語法是靜態的

js打包要按需載入,首頁裡面沒有的js功能,不必載入出來,如果全部載入,會導致使用者開啟頁面很慢很慢;

懶載入也就是按需載入,但是browerify就沒有這個功能,只是把所有的js檔案打包成乙個js檔案;

5.模組化五

amd(require.js)、cmd(sea.js):非同步載入

問題:太動態了,js檔案變大了

6.模組化六

es6標準

問題:瀏覽器載入起來很慢

解決方法:webpack,任意模組化的語法都支援,按需載入,非同步打包

JS模組化 了解

之前有的 命名空間,commonjs,amd cmd umd,es6 module 1.什麼是命名空間 庫名.類別名.方法名 弊端 在命名空間重複生命,要記住完整的路徑名 而且很長 var namespace namespace.type namespace.type 已經定義了就是它自己,沒有定義...

什麼是模組化?模組化的好處

1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...

什麼是模組化?模組化怎麼實現?

前言 增加印象,留下腳印 忘記還可以翻一翻 奧利給。1,什麼是模組化 公司裡乙個專案是有很多程式設計師一起開發的,例如 多人運動 這個專案 有程式設計師a 程式設計師b 程式設計師c 程式設計師a 寫了 aaa.js 裡面有幾千行 幾萬行 程式設計師b 寫了 bbb.js 裡面有幾千行 幾萬行 程式...