亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于Require.js使用方法(總結)

2019-11-19 15:04:43
字體:
來源:轉載
供稿:網友

一、為什么要使用require.js

首先一個頁面如果在加載多個js文件的時候,瀏覽器會停止網頁渲染,加載文件越多,網頁失去響應的時間就會越長;其次,由于js文件之間存在依賴關系,因此必須嚴格保證加載順序,當依賴關系很復雜的時候,代碼的編寫和維護都會變得困難。

require.js,就是為了解決這兩個問題:

1. 實現js文件的異步加載,避免網頁失去響應;
2. 管理模塊之間的依賴性,便于代碼的編寫和維護。

二、require.js的加載

第一步,去官網下載最新版本,直接放到頁面進行加載

<script src="js/require.js"></script>

加載這個文件可能會導致網頁失去響應,可以將它放到頁面的底部加載,也可以這樣寫

<script src="js/require.js" defer async="true" ></script>

async屬性表明這個文件需要異步加載,避免網頁失去響應。IE不支持這個屬性,只支持defer,所以把defer也寫上。

加載require.js以后,下一步就要加載我們自己的代碼了,也就是入口,可以叫主模塊,如果文件名叫main.js,寫成下面這樣就可以了:

<script src="js/require.js" data-main="js/main"></script>  .js后綴可以省略 

三、主模塊的寫法

如果主模塊依賴于jQuery可以這樣寫

require(['jquery'], function ($){    alert($); }); 

四、require.config()方法

require.config({   paths: {     "jquery": "jquery.min",     "underscore": "underscore.min",     "backbone": "backbone.min"  } }); 

上面的代碼給出了三個模塊的文件名,路徑默認與main.js在同一個目錄(js子目錄)。如果這些模塊在其他目錄,比如js/lib目錄,則有兩種寫法。

• 一種是逐一指定路徑

require.config({   paths: {     "jquery": "lib/jquery.min",     "underscore": "lib/underscore.min",     "backbone": "lib/backbone.min"  } }); 

• 另一種則是直接改變基目錄(baseUrl)。

require.config({   baseUrl: "js/lib",   paths: {     "jquery": "jquery.min",     "underscor: "underscore.min",     "backbone": "backbone.min"   } }); 

• 如果某個模塊在另一臺主機上,也可以直接指定它的網址,比如

require.config({   paths: {     "jquery": "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min"  } }); 

五、AMD模塊的寫法

require.js加載的模塊,采用AMD規范。也就是說,模塊必須按照AMD的規定來寫。

具體來說,就是模塊必須采用特定的define()函數來定義。如果一個模塊不依賴其他模塊,那么可以直接定義在define()函數之中。

// math.js define(function (){   var add = function (x,y){     return x+y;   };   return {     add: add   }; }); 

加載方法如下:

 // main.js require(['math'], function (math){   alert(math.add(1,1)); }); 

如果這個模塊還依賴其他模塊,那么define()函數的第一個參數,必須是一個數組,指明該模塊的依賴性。

define(['myLib'], function(myLib){   function foo(){     myLib.doSomething();   }   return {  //返回模塊中的函數     foo : foo   }; }); 

當require()函數加載上面這個模塊的時候,就會先加載myLib.js文件。

六、加載非規范的模塊(shim的使用方式)

// app.js  function sayHello(name){   alert('Hi '+name); } 
// main.js require.config({   shim: {     'app': { //這個鍵名為要載入的目標文件的文件名,不能隨便命名。       exports: 'sayHello' //exports的值為my.js提供的 對外接口的名稱     }   } });  require(['app'], function(sayHello) {  alert(sayHello()) }) 

導出一個函數,意味著我們得到了一個javaScript類

但是如果在my.js中寫了很多function,整合成一個function有點麻煩,想直接導出?方法如下:

// app.js function sayHi(name){  alert('Hi '+name); } function sayHello(name){  alert('Hiello '+name); }
// main.js   require.config({     shim: {       app: {         init: function() { //這里使用init將2個接口返回           return {             sayHi: sayHi,             sayHello: sayHello           }         }       }     }   });    require(['app'], function(a) {     a.sayHi('zhangsan');     a.sayHello('lisi');   }); 

shim的有序導入

require.config({   shim: {     'jquery.ui.core': ['jquery'], //表示在jquery導入之后導入     'jquery.ui.widget': ['jquery'],     'jquery.ui.mouse': ['jquery'],     'jquery.ui.slider':['jquery']    },  paths : {    jquery : 'jquery-2.1.1/jquery',    domReady : 'require-2.1.11/domReady',    'jquery.ui.core' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.core',    'jquery.ui.widget' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.widget',    'jquery.ui.mouse' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.mouse',    'jquery.ui.slider' : 'jquery-ui-1.10.4/development-bundle/ui/jquery.ui.slider'   }   });     require(['jquery', 'domReady','jquery.ui.core','jquery.ui.widget','jquery.ui.mouse','jquery.ui.slider'], function($) {       $("#slider" ).slider({        value:0,       min: 0,       max: 4,       step: 1,       slide: function( event, ui ) {}       });     }); 

以上這篇基于Require.js使用方法(總結)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人福利视频在线观看| 欧美亚洲另类在线| 国产激情久久久久| 丝袜亚洲欧美日韩综合| 亚洲精品视频久久| 色婷婷综合久久久久| 国模叶桐国产精品一区| 欧美最近摘花xxxx摘花| 国产ts人妖一区二区三区| 国产丝袜精品第一页| xxav国产精品美女主播| 成人天堂噜噜噜| 国产亚洲成av人片在线观看桃| 亚洲国产精品推荐| 欧美在线视频观看免费网站| 久久久国产精品亚洲一区| 精品中文字幕久久久久久| 日韩中文字幕精品视频| 亚洲国产中文字幕久久网| 91精品国产高清久久久久久| 美女久久久久久久| 91tv亚洲精品香蕉国产一区7ujn| 国产噜噜噜噜噜久久久久久久久| 午夜精品久久久久久99热| www.欧美三级电影.com| 国产日韩精品在线播放| 欧美三级免费观看| 欧美高清在线播放| 欧美在线性视频| 久久亚洲私人国产精品va| 国产精品草莓在线免费观看| 美女av一区二区| 538国产精品一区二区在线| 在线观看91久久久久久| 久久久综合免费视频| 国外色69视频在线观看| 欧美日韩福利在线观看| 日韩大陆毛片av| 欧美与欧洲交xxxx免费观看| 欧美性做爰毛片| 国产精品福利无圣光在线一区| 久久久久久久久久av| 国产精品美女主播| 96国产粉嫩美女| 久久久精品国产亚洲| 国产精品极品美女在线观看免费| 国产精品极品美女粉嫩高清在线| 日韩中文字幕免费看| 亚洲精品欧美日韩专区| 在线成人免费网站| 91黑丝高跟在线| 欧美一级淫片aaaaaaa视频| 欧美最猛性xxxxx免费| 日韩在线视频网| 国产成人久久精品| 91在线播放国产| 7m精品福利视频导航| 久久综合久久八八| 国产日韩换脸av一区在线观看| 成人国产亚洲精品a区天堂华泰| 亚洲国产精品福利| 欧美在线xxx| 九九热精品视频| 全亚洲最色的网站在线观看| 亚洲一级免费视频| 欧美成在线视频| 狠狠综合久久av一区二区小说| 欧美精品久久久久久久久| 搡老女人一区二区三区视频tv| 成人久久久久久久| 国产亚洲日本欧美韩国| 久久99热这里只有精品国产| 人九九综合九九宗合| 色噜噜久久综合伊人一本| 日韩av快播网址| 日韩中文字幕在线| 97免费中文视频在线观看| 97碰在线观看| 国产精品视频白浆免费视频| 啪一啪鲁一鲁2019在线视频| 欧美激情一区二区久久久| 国产剧情日韩欧美| 欧美一区二区色| 在线日韩精品视频| 日韩av在线网址| 欧美精品一区二区免费| 久久韩剧网电视剧| 亚洲综合第一页| 海角国产乱辈乱精品视频| 日韩在线观看成人| 中文字幕av一区中文字幕天堂| 国产成人av网址| 国产亚洲一区二区在线| 亚洲第一福利在线观看| 九九热视频这里只有精品| 中文日韩在线观看| 91天堂在线视频| zzijzzij亚洲日本成熟少妇| 久久影院资源网| 国产精品久久久久久久7电影| 亚洲精品成人网| 色樱桃影院亚洲精品影院| 精品美女久久久久久免费| 91九色国产在线| 日韩av中文字幕在线播放| 午夜精品一区二区三区视频免费看| 日韩精品免费观看| 亚洲国模精品私拍| 成人久久久久久久| www国产精品com| 日韩欧美国产高清91| 日韩av手机在线观看| 亚洲视频综合网| 91大神福利视频在线| 国产精自产拍久久久久久| 欧美性猛交xxxx黑人猛交| 综合网中文字幕| 精品久久中文字幕| 欧美日韩一区二区精品| 亚洲激情国产精品| 欧美伊久线香蕉线新在线| 91久久国产精品| 亚洲男人天堂久| 91香蕉电影院| 国产精品高清免费在线观看| 亚洲精品视频网上网址在线观看| 91亚洲永久免费精品| 精品国偷自产在线| 黄色一区二区三区| 亚洲精品视频中文字幕| 在线观看精品国产视频| 国产精品美女主播在线观看纯欲| 国产亚洲欧洲高清| 国产精品国产三级国产专播精品人| 久久偷看各类女兵18女厕嘘嘘| 中文字幕av一区| 亚洲国语精品自产拍在线观看| 亚洲理论在线a中文字幕| 国产精品久久久久久久久久免费| 欧美视频在线免费看| 亚洲精品久久久久中文字幕欢迎你| 亚洲天堂一区二区三区| 亚洲男女自偷自拍图片另类| 成人精品视频99在线观看免费| 中文欧美日本在线资源| 成人女保姆的销魂服务| 国产精品永久免费在线| 成人淫片在线看| 久久久视频精品| 久久久精品欧美| 69视频在线播放| 久久频这里精品99香蕉| 日韩的一区二区| 精品福利在线视频| 欧美成人免费va影院高清| www国产精品视频| 国产自产女人91一区在线观看| 激情懂色av一区av二区av| 亚洲成人黄色在线观看| 精品视频在线播放色网色视频| 国产91在线播放九色快色| 国产精品爽爽ⅴa在线观看| 黄色成人av在线| 色妞一区二区三区|