require.js使用方法的簡單代碼講解筆記
頁面需要加載多個js文件時,加載時瀏覽器會停止網(wǎng)頁渲染,加載文件越多,網(wǎng)頁失去響應的時間就會越長;由于js文件之間存在依賴關(guān)系,必須嚴格保證加載順序,當依賴關(guān)系很復雜的時候,代碼的編寫和維護都會變得困難。這種情況下require.js插件應運而生。
目的:
這個插件的體積非常小14k左右,主要是解決目前我們js文件引入臃腫的問題,它可以將我們需要的js文件定義成一個模塊的方式,只要我們想引入某個模塊,我們聲明引入就可以了。而且是異步加載的模式,對瀏覽器體驗也非常好,不會阻塞渲染。
基本API
require定義三個變量:define,require,requirejs,其中require === requirejs,一般使用require更簡短
- define 從名字就可以看出這個api是用來定義一個模塊
- require 加載依賴模塊,并執(zhí)行加載完后的回調(diào)函數(shù)
第一步:a.js定義
define(function(){ function fun1(){ alert("it works"); } fun1(); })
第二步:引入這個模塊
require(["js/a"],function(){ alert("load finished"); })
注意:a.js引入在js文件下,同時a.js中后綴不要了。
加載文件
加載本地是上面的那個樣子,如果我們要加載其他網(wǎng)站要用到require.config這個方法
require.config({ paths : { "jquery" : ["http://libs.baidu.com/jquery/2.0.3/jquery", "js/jquery"], "a" : "js/a" } }) require(["jquery","a"],function($){ $(function(){ alert("load finished"); }) })
這樣配置后,當百度的jquery沒有加載成功后,會加載本地js目錄下的jquery
- 在使用requirejs時,加載模塊時不用寫.js后綴的,當然也是不能寫后綴
- 上面例子中的callback函數(shù)中發(fā)現(xiàn)有$參數(shù),這個就是依賴的jquery模塊的輸出變量,如果你依賴多個模塊,可以依次寫入多個參數(shù)來使用:
講講data-main這個屬性:
<script data-main="js/main" src="js/require.js"></script>
其實就是引入require.js后,再引入js文件夾下的main.js文件
相關(guān)文章
rollup?cli開發(fā)全面系統(tǒng)性rollup源碼分析
這篇文章主要為大家介紹了rollup?cli開發(fā)全網(wǎng)系統(tǒng)性rollup源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01typescript封裝消息提示框插件ew-message使用實戰(zhàn)
這篇文章主要為大家介紹了typescript封裝消息提示框插件ew-message使用實戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11自動生成typescript類型聲明工具實現(xiàn)詳解
這篇文章主要為大家介紹了自動生成typescript類型聲明工具實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04TS中Array.reduce提示沒有與此調(diào)用匹配的重載解析
這篇文章主要為大家介紹了TS中Array.reduce提示沒有與此調(diào)用匹配的重載解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06