摘要:本文以初學(xué)身份對(duì)比和來(lái)說(shuō)明前者的優(yōu)點(diǎn),若使用其它庫(kù),可以眼動(dòng)將替換為你所用的庫(kù)模塊化,實(shí)現(xiàn)某一功能的方法獨(dú)立化,使其可以復(fù)用這一高大上的名詞,按我的理解,和插件的功能一樣那為什么需要學(xué)習(xí)呢,是將定義為全局變量,在腳本的任何地方都能調(diào)用中的方
本文以初學(xué)身份對(duì)比RequireJS和jQuery來(lái)說(shuō)明前者的優(yōu)點(diǎn),若使用其它庫(kù),可以“眼動(dòng)”將jQuery替換為你所用的js庫(kù);
“模塊化”,實(shí)現(xiàn)某一功能的方法獨(dú)立化,使其可以復(fù)用;這一高大上的名詞,按我的理解,和jQurey插件的功能一樣;那為什么需要學(xué)習(xí)RequireJS呢?
jQuery,是將jQuery定義為全局變量,在腳本的任何地方都能調(diào)用jQuery中的方法;
對(duì)比于jQuery,RequireJS的優(yōu)點(diǎn)就是,可以將各依賴關(guān)系(依賴關(guān)系---js庫(kù),指你需要引用這個(gè)庫(kù)才能做其他功能)聲明,并將各個(gè)依賴關(guān)系作為函數(shù)參數(shù)處理,即可以把jQuery等js庫(kù)的作用域定義為局部(函數(shù)內(nèi)部);
RequireJS是為實(shí)現(xiàn)模塊化存在的,其核心功能有兩個(gè):定義模塊define()和調(diào)用模塊require();
定義模塊define(),建一個(gè)功能庫(kù):
//推薦一個(gè)模塊為一個(gè)多帶帶的js文件;
無(wú)依賴關(guān)系的模塊:
define({ name1:"value1", name2:"value2" })
無(wú)依賴關(guān)系,但需要處理一些初始化任務(wù):
define(function(){ })
有依賴關(guān)系的模塊:
define("module name",[],function(){ //第一個(gè)參數(shù)為模塊名稱,可選項(xiàng)--不建議命名; //[]表示依賴關(guān)系的數(shù)組列表; //function(){}回調(diào)函數(shù),當(dāng)指定模塊都加載成功后被調(diào)用; //加載的模塊以參數(shù)形式傳入該函數(shù)中,從而在回調(diào)函數(shù)內(nèi)部就可以使用這么模塊; //參數(shù)和模塊的數(shù)量和次序要一一對(duì)應(yīng); //或者通過(guò)arguments[]來(lái)調(diào)用依賴; // //require()加載這個(gè)模塊之前會(huì)先加載依賴關(guān)系; //模塊應(yīng)該返回一個(gè)本模塊/函數(shù) return { // 屬性名:值, // 方法名:function(){} //模塊名默認(rèn)為腳本文件名; //} })
調(diào)用模塊require():
require([],function(){ //[]表示依賴關(guān)系的數(shù)組列表; //function(){}回調(diào)函數(shù),當(dāng)指定模塊都加載成功后被調(diào)用; //加載的模塊以參數(shù)形式傳入該函數(shù)中,從而在回調(diào)函數(shù)內(nèi)部就可以使用這個(gè)模塊的屬性或方法; //參數(shù)和模塊的數(shù)量和次序要一一對(duì)應(yīng); //或者通過(guò)arguments[]來(lái)調(diào)用依賴; })
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/79104.html
摘要:如果有疑惑的地方,歡迎討論,我是初學(xué),希望能切磋和得到指點(diǎn)加載會(huì)阻塞頁(yè)面加載默認(rèn)異步加載文件方法一把放到頁(yè)面底部加載方法二支持定義全局相對(duì)路徑方法一自定義屬性指定網(wǎng)頁(yè)程序的主模塊文件定義整個(gè)網(wǎng)頁(yè)代碼的入口文件的相對(duì)位置,以后此文件 如果有疑惑的地方,歡迎討論,我是初學(xué),希望能切磋和得到指點(diǎn); js加載會(huì)阻塞頁(yè)面加載: //requirejs默認(rèn)異步加載js文件; 方法一...
摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒(méi)想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
摘要:這里也提供了幾種不同模式的組件開(kāi)發(fā)方式,你可以選擇一個(gè)適合你的使用輕量級(jí)基礎(chǔ)模式為初學(xué)者提供的一個(gè)簡(jiǎn)單通用的基礎(chǔ)模板,包括基礎(chǔ)的默認(rèn)對(duì)象簡(jiǎn)單的構(gòu)造函數(shù)默認(rèn)參數(shù)和傳遞參數(shù)的合并以及防止對(duì)象多次實(shí)例化的構(gòu)造函數(shù)的簡(jiǎn)單封裝。 在初次進(jìn)行jquery插件開(kāi)發(fā)時(shí),我們往往無(wú)從下手,當(dāng)然我們可以按照jquery官方提供的格式進(jìn)行簡(jiǎn)單的插件開(kāi)發(fā),但是很多時(shí)候往往不盡完美,一不小心,就造出一個(gè)很...
摘要:概述是一款遵循規(guī)范協(xié)議的模塊加載器,不但能在瀏覽器端充分利用,同樣能在其他的運(yùn)行時(shí)環(huán)境,比如和。使用像這樣的模塊加載器能提高代碼的質(zhì)量和開(kāi)發(fā)速度。一般放在頁(yè)面的入口出,用來(lái)加載其他的模塊。 RequireJS概述 RequireJS是一款遵循AMD規(guī)范協(xié)議的JavaScript模塊加載器, 不但能在瀏覽器端充分利用,同樣能在其他的JavaScript運(yùn)行時(shí)環(huán)境, 比如Rhino和No...
摘要:遵循的是異步模塊定義規(guī)范,遵循的是通用模塊定義規(guī)范。規(guī)范的不同,導(dǎo)致了兩者的不同。在嘗試讓第三方類庫(kù)修改自身來(lái)支持,目前只有少數(shù)社區(qū)采納。是沒(méi)有明顯的,是明顯沒(méi)有。無(wú)這方面的支持。 發(fā)布之后發(fā)現(xiàn)存在一個(gè)顯示的問(wèn)題,大家可以移步到我的簡(jiǎn)書(shū)參考,謝謝大家?。?!我的簡(jiǎn)書(shū)《seajs和requirejs技術(shù)指導(dǎo)文檔》 昨天到今天,老衲翻閱數(shù)十篇技術(shù)文檔,為了搞明白seajs(CMD)和 req...
閱讀 3113·2023-04-26 00:49
閱讀 3764·2021-09-29 09:45
閱讀 1066·2019-08-29 18:47
閱讀 2778·2019-08-29 18:37
閱讀 2758·2019-08-29 16:37
閱讀 3323·2019-08-29 13:24
閱讀 1806·2019-08-27 10:56
閱讀 2381·2019-08-26 11:42