現(xiàn)在程序設(shè)計(jì)很多,過去的設(shè)計(jì)方式復(fù)雜,而現(xiàn)在很多程序員選擇用模塊化開發(fā)的方式來運(yùn)用。那模塊化開發(fā)中,前端模塊化開發(fā)是怎么回事呢?今天就讓faceui為大家介紹什么是前端模塊化開發(fā),前端模塊化開發(fā)的優(yōu)缺點(diǎn)。
什么是前端模塊化開發(fā)
模塊化是指在解決某個(gè)復(fù)雜、混雜問題時(shí),依照一種分類的思維把問題進(jìn)行系統(tǒng)性的分解以之處理。模塊化是一種處理復(fù)雜系統(tǒng)分解為代碼結(jié)構(gòu)更合理,可維護(hù)性更高的可管理的模塊的方式。模塊化是軟件系統(tǒng)的屬性,這個(gè)系統(tǒng)被分解為一組高內(nèi)聚,低耦合的模塊。那么在理想狀態(tài)下我們只需要完成自己部分的核心業(yè)務(wù)邏輯代碼,其他方面的依賴可以通過直接加載被人已經(jīng)寫好模塊進(jìn)行使用即可。
前端模塊化開發(fā)
隨著前端復(fù)雜度提高,為了能夠提高項(xiàng)目代碼的可讀性、可擴(kuò)展性等,我們的js文件逐漸多了起來,不再是一個(gè)js文件就可以解決的了,而是把每一個(gè)js文件當(dāng)做一個(gè)模塊。針對(duì)這些模塊是設(shè)計(jì)開發(fā)就是前端模塊化開發(fā)。即簡(jiǎn)單的將所有的js文件統(tǒng)統(tǒng)放在一起。但是這些文件的順序還不能出錯(cuò),比如jquery需要先引入,才能引入jquery插件,才能在其他的文件中使用jquery。
前端模塊化開發(fā)的優(yōu)缺點(diǎn)
前端采用模塊化開發(fā),使得開發(fā)體驗(yàn)大大增強(qiáng),擺脫了很多需要人力去做且容易出錯(cuò)的點(diǎn),使得代碼管理更加清晰、規(guī)范。主要優(yōu)點(diǎn)表現(xiàn)為以下幾點(diǎn):
1、減少命名沖突,消除全局變量。
2、一個(gè)模塊一個(gè)文件,組織更清晰。
3、依賴自動(dòng)加載,按需加載。
4、相比于使用一個(gè)js文件,這種多個(gè)js文件實(shí)現(xiàn)最簡(jiǎn)單的模塊化的思想是進(jìn)步的。
前端模塊化開發(fā)
其中文件按需加載,依賴自動(dòng)管理,使得更多精力去關(guān)注模塊代碼本身,開發(fā)時(shí)不需要在頁面上寫一大堆script引用,一個(gè)require初始化模塊就搞定。不需要每增加一個(gè)文件,還要到HTML或者其他地方添加一個(gè)script標(biāo)簽或文件聲明。
缺點(diǎn):
1、污染全局作用域。 因?yàn)槊恳粋€(gè)模塊都是暴露在全局的,簡(jiǎn)單的使用,會(huì)導(dǎo)致全局變量命名沖突,當(dāng)然,我們也可以使用命名空間的方式來解決。
2、對(duì)于大型項(xiàng)目,各種js很多,開發(fā)人員必須手動(dòng)解決模塊和代碼庫(kù)的依賴關(guān)系,后期維護(hù)成本較高。
3、依賴關(guān)系不明顯,不利于維護(hù)。 比如main.js需要使用jquery,但是,從上面的文件中,我們是看不出來的,如果jquery忘記了,那么就會(huì)報(bào)錯(cuò)。
以上就是faceui為大家介紹的關(guān)于前端模塊化開發(fā)的相關(guān)內(nèi)容。模塊化的開發(fā)和設(shè)計(jì)在現(xiàn)在的數(shù)字時(shí)代是非常容易理解的,對(duì)系統(tǒng)的設(shè)計(jì)和創(chuàng)建都有好處。