基本使用
github倉庫requirejs
為什么使用requirejs
- 異步加載文件
image.png
- 模塊化開發(fā)
- 一個(gè)文件一個(gè)模塊
- 減少全局變量
- define: 定義模塊
- require:加載模塊
image.png
返回結(jié)果可以是任何值:如:函數(shù)、字符串、對(duì)象
notice:在最佳的實(shí)踐當(dāng)中是不寫模塊名的掸哑,可以使用構(gòu)建工具來自動(dòng)為它命名模塊名,而且有利于后期的打包启昧。
image.png
加載文件
- requirejs以一個(gè)相對(duì)于baseurl的地址來加載所有的代碼
image.png
data-main
<script data-main="/js/app"></script>
baseUrl(app.js)
requirejs.config({ baseUrl:'/js'})
image.png
加載機(jī)制
- requirejs使用head.appendChild()將每一個(gè)依賴加載為一個(gè)script標(biāo)簽
image.png
意味著我們的模塊加載是可以跨域訪問的,也可以從cdn去獲取js文件
- 加載即執(zhí)行
模塊下載執(zhí)行的時(shí)候劈伴,模塊里面的實(shí)現(xiàn)也就會(huì)執(zhí)行