amd 推土機(jī) Seajs優(yōu)缺點(diǎn)什么是CMD和AMD如何使用?
Seajs優(yōu)缺點(diǎn)什么是CMD和AMD如何使用?1. 介紹seajs,一個(gè)web模塊加載框架,它追求簡單自然的代碼編寫和組織方式海.js遵循CMD規(guī)范,模塊化JS代碼。依賴項(xiàng)的自動(dòng)加載和簡潔明了的配置可
Seajs優(yōu)缺點(diǎn)什么是CMD和AMD如何使用?
1. 介紹seajs,一個(gè)web模塊加載框架,它追求簡單自然的代碼編寫和組織方式海.js遵循CMD規(guī)范,模塊化JS代碼。依賴項(xiàng)的自動(dòng)加載和簡潔明了的配置可以使程序員更加專注于編碼。
2. 優(yōu)點(diǎn)和缺點(diǎn):1)提高可維護(hù)性。2) . 模塊化編程。3) 動(dòng)態(tài)加載和前端性能優(yōu)化的缺點(diǎn):1)學(xué)習(xí)文檔太少,容易混淆,這會(huì)改變團(tuán)隊(duì)使用JS的習(xí)慣,因此必須使用模塊化編程。2) 這不適合球隊(duì)的現(xiàn)狀。有許多JS文件,但很少有變化。動(dòng)態(tài)加載和模塊化的優(yōu)勢并不明顯。3) 應(yīng)使用SPM工具和JS打包和管理工具。2什么是CMD和AMD?Asynchronous module definition(AMD)是Asynchronous module definition的縮寫,是requirejs在升級(jí)過程中的標(biāo)準(zhǔn)化輸出。Common module definition(CMD)是Common module definition的縮寫,是seajs在升級(jí)過程中的標(biāo)準(zhǔn)化輸出。requirejs和seajs都是模塊化框架的代表。AMD和CMD是它們各自定義模塊化的方法。它們是相似的,主要是由于不同的代碼樣式和api。
JavaScript模塊規(guī)范之AMD規(guī)范和CMD規(guī)范?
AMD是requirejs升級(jí)過程中模塊定義的標(biāo)準(zhǔn)化輸出。CMD是seajs升級(jí)過程中模塊定義的標(biāo)準(zhǔn)化輸出。同樣,還有commonjs modules/2.0規(guī)范,這是bravojs在推廣過程中的標(biāo)準(zhǔn)化輸出。還有很多。。。這些規(guī)范的目的是對(duì)JavaScript進(jìn)行模塊化開發(fā),特別是在瀏覽器端。目前,這些規(guī)范的實(shí)現(xiàn)可以達(dá)到瀏覽器模塊化開發(fā)的目的。區(qū)別:1。對(duì)于依賴模塊,amd提前執(zhí)行,CMD延遲執(zhí)行。但是,requirejs從
2.0開始,可以延遲(根據(jù)編寫方法的不同,處理方法也不同)。盡可能的懶惰。2查看代碼://cmddefine(function(require,exports,module){var a=require()。/a “)a.dosomething()//此處省略100行,VAR B=require(”。/b “)//依賴關(guān)系可以在b.dosomething()//…})附近寫入//AMD建議define([”)。/一個(gè)“,”。/b“],函數(shù)(a,b){//依賴關(guān)系必須寫在a.dosomething()//此處省略100行b.dosomething()…})的開頭,雖然amd也支持CMD的編寫方法,并將require作為依賴關(guān)系傳遞,但requirejs的作者默認(rèn)更喜歡上面的編寫方法,這也是公文中默認(rèn)的模塊定義編寫方法。
3. AMD的API默認(rèn)用于多種用途,而CMD的API則是嚴(yán)格區(qū)分的,責(zé)任單一。例如,在AMD中,require分為全局require和局部require,兩者都稱為require。在CMD中,沒有全局要求。相反,它是根據(jù)模塊系統(tǒng)的完整性提供的seajs.use公司實(shí)現(xiàn)模塊系統(tǒng)的加載和啟動(dòng)。在CMD中,每個(gè)API都是簡單而純粹的。
在前端中什么是組件化,什么是模塊化?
模塊化是一種開發(fā)規(guī)范。例如,CMD AMD是為了更好地解耦。例如,一個(gè)網(wǎng)站是根據(jù)不同的模塊開發(fā)的。例如,您有一個(gè)注釋區(qū)域,一個(gè)項(xiàng)目有一個(gè)注釋區(qū)域,而B項(xiàng)目有一個(gè)注釋區(qū)域。如果只是一個(gè)簡單的模塊開發(fā),你可以獨(dú)立引用這個(gè)JS文件
比如一個(gè)頁面有多個(gè)功能,這個(gè)時(shí)候,如果你用JS寫的話,它會(huì)越來越大,
你把它分成不同的模塊,比如評(píng)論是一塊,分頁是另一塊,
一直在線,或者你不做,后來別人牽手,或者你接手別人的項(xiàng)目。此時(shí),您需要?jiǎng)h除或修改分頁。你可以很清楚的找到相應(yīng)的模塊文件來修改或刪除它
模塊是定制的,
組件,這是一個(gè)很普通的東西,有的分為功能組件,有的分為業(yè)務(wù)組件
大畫面切換。這是一個(gè)簡單的效果顯示,只要你調(diào)用它,就可以了
一個(gè)分頁,這也是一個(gè)簡單的調(diào)用,
組件可以在很多地方使用,而且不需要單獨(dú)開發(fā)它們
從早期的引導(dǎo),到后來的jQuery,到現(xiàn)在的angular,react,Vue,作為后端開發(fā),我已經(jīng)兩年沒碰前端了。我發(fā)現(xiàn)前端發(fā)生了巨大的變化
!Linux、C的后端多年來變化不大。只能說,前端人才太多了,于是百花齊放,使得前端發(fā)展越來越容易
!因此,你應(yīng)該感謝這個(gè)時(shí)代使你的工作更容易,更容易開始,當(dāng)然,更容易被取代!