require.js

最近項目需要用require.js所以就看了看,以下為require.js的基本用法虽抄。
參考文獻:
菜鳥教程:http://www.runoob.com/w3cnote/requirejs-tutorial-1.html
阮一峰網(wǎng)絡日志:http://www.ruanyifeng.com/blog/2012/11/require_js.html

為什么要用require.js

最早的時候澈驼,所有Javascript代碼都寫在一個文件里面辛燥,只要加載這一個文件就夠了。后來缝其,代碼越來越多挎塌,一個文件不夠了,必須分成多個文件内边,依次加載多個js文件榴都。
這樣的寫法有很大的缺點。首先漠其,加載的時候嘴高,瀏覽器會停止網(wǎng)頁渲染,加載文件越多和屎,網(wǎng)頁失去響應的時間就會越長拴驮;其次,由于js文件之間存在依賴關系柴信,因此必須嚴格保證加載順序莹汤,依賴性最大的模塊一定要放到最后加載,當依賴關系很復雜的時候颠印,代碼的編寫和維護都會變得困難。
require.js的誕生為了解決:
1)實現(xiàn)js文件的異步加載抹竹,避免網(wǎng)頁失去響應线罕;
2)管理模塊之間的依賴性,便于代碼的編寫和維護窃判。

如何使用require.js

  • 首先去官網(wǎng)下載最新插件點我下載
  • 將require.js引入到項目中 使用<srcipt>引入
    使用data-main 加載我們自己的代碼(主模塊)假設我們的文件名稱為demo.js
<script type="text/javascript" data-main="demo" src="require.js"></script>
  • require.js 基本API
    require會定義2個變量:
    define : 從名字就可以看出這個api是用來定義一個模塊
    require :加載依賴模塊钞楼,并執(zhí)行加載完后的回調函數(shù)
    使用這兩個變量定義引用路徑的時候文件名不用寫成 demo.js 直接寫demo就行

一、代碼不依賴任何其他模塊

通過define函數(shù)定義了一個模塊:

define(function(){ 
    function fun1(){ 
      alert("it works"); 
     } 
    fun1();
})

然后在頁面中用require使用

require(["demo"]);

來加載該模塊(注意require中的依賴是一個數(shù)組袄琳,即使只有一個依賴询件,你也必須使用數(shù)組來定義)燃乍,requir API的第二個參數(shù)是callback,一個function宛琅,是用來處理加載完畢后的邏輯

require(["demo"],function(){
     alert("load finished");
})

二刻蟹、模塊的加載

假如需要用各種插件(比如jquery或者是基于jquery的插件)
首先創(chuàng)建一個js文件 我們起名為min.js,用require.config來配置我們所用插件的路徑方便多項目調動

設置的方式有兩種:
1嘿辟、直接把路徑寫在path中

require.config({
 paths :{
    "jquery" : ".js/jquery-1.12.3.min",
    "placeholder":"js/placeholderfriend",
    "swiper":"js/idangerous.swiper.min",
    "bar":"js/jqbar",
    "city":"js/jquery.citys"
 },
 //使用shim聲明插件基于什么開發(fā)的比如以下都為jquery的插件
 shim:{
   "placeholder":{
     deps: ["jquery"]
  },
  "swiper":{
     deps: ["jquery"]
  },
  "bar":{
     deps:['jquery']
  },
  "city":{
     deps:['jquery']
  }
 }
})

然后在demo.js中引入

//define后面的路徑就是剛配置完產(chǎn)檢的js路徑
define(["main"],function(){
//require 后參數(shù)需要的插件(要寫成數(shù)組形式舆瘪,即使只用一個)
 require(['jquery','placeholder'],function(){

  //下面就可以正常寫代碼了 如

  $(function(){
   
        $("#btn").click(function(){
              alert("我點擊了")
        });
         
   })
 })
 
})

2、直接改變基目錄(baseUrl)

require.config({
 baseUrl: "js",
 paths :{
    "jquery" : "jquery-1.12.3.min",
    "placeholder":"placeholderfriend",
    "swiper":"idangerous.swiper.min",
    "bar":"jqbar",
    "city":"jquery.citys"
 },
 //使用shim聲明插件基于什么開發(fā)的比如以下都為jquery的插件
 shim:{
   "placeholder":{
     deps: ["jquery"]
  },
  "swiper":{
     deps: ["jquery"]
  },
  "bar":{
     deps:['jquery']
  },
  "city":{
     deps:['jquery']
  }
 }
})

后面就一樣了

恩红伦,差不多就這樣了英古。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市昙读,隨后出現(xiàn)的幾起案子召调,更是在濱河造成了極大的恐慌,老刑警劉巖蛮浑,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唠叛,死亡現(xiàn)場離奇詭異,居然都是意外死亡陵吸,警方通過查閱死者的電腦和手機玻墅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壮虫,“玉大人澳厢,你說我怎么就攤上這事∏羲疲” “怎么了剩拢?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長饶唤。 經(jīng)常有香客問我徐伐,道長,這世上最難降的妖魔是什么募狂? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任办素,我火速辦了婚禮,結果婚禮上祸穷,老公的妹妹穿的比我還像新娘性穿。我一直安慰自己,他們只是感情好雷滚,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布需曾。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪呆万。 梳的紋絲不亂的頭發(fā)上商源,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機與錄音谋减,去河邊找鬼牡彻。 笑死,一個胖子當著我的面吹牛逃顶,可吹牛的內容都是我干的讨便。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼以政,長吁一口氣:“原來是場噩夢啊……” “哼霸褒!你這毒婦竟也來了?” 一聲冷哼從身側響起盈蛮,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤废菱,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后抖誉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體殊轴,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年袒炉,在試婚紗的時候發(fā)現(xiàn)自己被綠了旁理。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡我磁,死狀恐怖孽文,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情夺艰,我是刑警寧澤芋哭,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站郁副,受9級特大地震影響减牺,放射性物質發(fā)生泄漏。R本人自食惡果不足惜存谎,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一拔疚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧既荚,春花似錦草雕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至憨琳,卻和暖如春诫钓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背篙螟。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工菌湃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人遍略。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓惧所,卻偏偏與公主長得像,于是被迫代替她去往敵國和親绪杏。 傳聞我的和親對象是個殘疾皇子下愈,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內容