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

