據(jù)說(shuō)公司的項(xiàng)目較多的用到requirejs管理依賴,所以大熊同學(xué)擠出了5分鐘休息時(shí)間學(xué)習(xí)了一下,現(xiàn)在分享一下。如果你想了解requirejs的實(shí)現(xiàn)原理,請(qǐng)繞道!如果你想了解requirejs的高級(jí)用法,請(qǐng)繞道!那么問(wèn)題來(lái)了,這篇小文還有人看嗎???
requirejs是干啥的???
曾經(jīng),我們將一些js組件放到不同的文件,然后通過(guò)script標(biāo)簽引入,如果幾個(gè)組件有依賴,那么要小心了,你必須將被依賴的放到前面,否則的話會(huì)出現(xiàn)啥啥啥is undefined
或者啥啥啥is not a function
之類的錯(cuò)誤。比如一個(gè)jquery的插件顯然是依賴jquery核心庫(kù)的,所以jquery核心庫(kù)文件必須先引入。項(xiàng)目小組件少依賴簡(jiǎn)單還好,要是項(xiàng)目大組件多依賴復(fù)雜就糟糕了。咋辦?用requirejs啊??!
只要按照requirejs規(guī)范寫,他會(huì)從一個(gè)根開(kāi)始檢查依賴,根據(jù)這些依賴關(guān)系自動(dòng)的幫助我們插入script標(biāo)簽,很棒,對(duì)不對(duì)?這樣依賴我們不就再也不用糾結(jié)哪個(gè)標(biāo)簽應(yīng)該放在前,哪個(gè)該放在后了嗎???????
requirejs咋用?。?/h2>請(qǐng)記住使用requirejs的口訣,兩函數(shù)一配置一屬性
data-main屬性
requirejs需要一個(gè)根來(lái)作為搜索依賴的開(kāi)始,data-main用來(lái)指定這個(gè)根。
<script src="scripts/require.js" data-main="scripts/app.js"></script>
這里就指定了根是app.js,只有直接或者間接與app.js有依賴關(guān)系的模塊才會(huì)被
data-main屬性
requirejs需要一個(gè)根來(lái)作為搜索依賴的開(kāi)始,data-main用來(lái)指定這個(gè)根。<script src="scripts/require.js" data-main="scripts/app.js"></script>
這里就指定了根是app.js,只有直接或者間接與app.js有依賴關(guān)系的模塊才會(huì)被