requireJs學(xué)習(xí)筆記

加載JavaScript文件

index.html

<script data-main="scripts/main.js" src="scripts/require.js"></script>

RJ(require.js)是一個以相對于baseUrl的地址來加載所有的代碼乏悄。
RJ使用<script>上的自定義屬性data-main來啟動腳本加載過程炕柔,例如上述的scripts下main.js文件會作為主模塊第一個被RJ加載。


配置

main.js

require.config({
    // baseUrl為所有模塊查找的根路徑娩缰。當(dāng)加載純.js文件(‘/開頭、.js結(jié)尾、含有協(xié)議’)時不會使用baseUrl枝笨。
    // baseUrl不設(shè)置時默認(rèn)為main.js所在路徑
    // baseUrl設(shè)置時沦寂,相對于RJ所在的HTML頁面的路徑
    baseUrl: 'js/lib',
    // 用于映射那些不直接放置在baseUrl下的模塊名
    // 起始位置是相對于baseUrl的学密,除非以‘/’開頭或含有URL協(xié)議(如:http)
    paths: {
        app: '../app'
    }
})
// 各模塊是異步加載的
require(['module1','module2','module3'], function(m1,m2,m3) {
    // 這個函數(shù)在所有依賴模塊被加載完成后才調(diào)用執(zhí)行
})

當(dāng)然,data-main不是必要的传藏。

<script src="scripts/require.js"></script>
<script>
    require.config({
        baseUrl: 'js/lib',
        paths: {
            app: '../app'
        }
    })
    require(['module1','module2','module3'], function(m1,m2,m3) {})
</script>

或者

<sctipt>
    var require = {
        deps: ['module1','module2','module3'],
        callback: function(m1,m2,m3) {}
    }
</script>
<script src="scripts/require.js"></script>

這時候baseurl為引用RJ的HTML頁面所在的路徑腻暮。

shim:為那些沒有使用define()來聲明依賴關(guān)系、設(shè)置模塊的“瀏覽器全局變量注入”型腳本做依賴和導(dǎo)出配置漩氨。

requirejs.config({
    shim: {
        'backbone': {
            deps: ['underscore','jquery'],
            //Once loaded, use the global 'Backbone' as the module value.
            exports: 'Backbone'
        },
        'underscore': {
            exports: '_'
        },
        'foo': {
            deps: ['bar'],
            exports: 'Foo',
            // this 被賦值為global對象
            // 依賴模塊可以通過參數(shù)傳進去
            // 返回值作為global.Foo的值
            init: function(bar) {
                return this.Foo.noConflict()
            }
        }
    }
})

存在而不導(dǎo)出任何模塊變量的模塊們西壮,shim配置可簡單的設(shè)為依賴數(shù)組。

requirejs.config({
    shim: {
        'jquery.colorize': ['jquery'],
        'jquery.scroll': ['jquery'],
        'backbone.layoutmanager': ['backbone']
    }
})


定義模塊

簡單的值對

define({
    color: 'black',
    sieze: 'unsize'
})

函數(shù)是定義

// 自定義模塊名會使模塊不具備移植性
// 依賴模塊可在前面加“./”來引入統(tǒng)一路徑下模塊
define('myDefineModule', ['module1'], function(m1) {
    // 返回值也可以是個函數(shù)
    return {
        color: 'black',
        size: 'unsize'
    }
})


模塊的引用

require(['module1','module2','module3'], function(m1,m2,m3) {})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叫惊,一起剝皮案震驚了整個濱河市款青,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌霍狰,老刑警劉巖抡草,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔗坯,居然都是意外死亡康震,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門宾濒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腿短,“玉大人,你說我怎么就攤上這事绘梦¢俪溃” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵卸奉,是天一觀的道長钝诚。 經(jīng)常有香客問我,道長榄棵,這世上最難降的妖魔是什么凝颇? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任潘拱,我火速辦了婚禮,結(jié)果婚禮上拧略,老公的妹妹穿的比我還像新娘芦岂。我一直安慰自己,他們只是感情好辑鲤,可當(dāng)我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布盔腔。 她就那樣靜靜地躺著,像睡著了一般月褥。 火紅的嫁衣襯著肌膚如雪弛随。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天宁赤,我揣著相機與錄音舀透,去河邊找鬼。 笑死决左,一個胖子當(dāng)著我的面吹牛愕够,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播佛猛,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼惑芭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了继找?” 一聲冷哼從身側(cè)響起遂跟,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎婴渡,沒想到半個月后幻锁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡边臼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年哄尔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柠并。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡岭接,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出臼予,到底是詐尸還是另有隱情亿傅,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布瘟栖,位于F島的核電站,受9級特大地震影響谅阿,放射性物質(zhì)發(fā)生泄漏半哟。R本人自食惡果不足惜酬滤,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望寓涨。 院中可真熱鬧盯串,春花似錦、人聲如沸戒良。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糯崎。三九已至几缭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沃呢,已是汗流浹背年栓。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留薄霜,地道東北人某抓。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像惰瓜,于是被迫代替她去往敵國和親否副。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容