1. 程式人生 > >require.js基本使用

require.js基本使用

用這個外掛目的:

這個外掛的體積非常小14k左右,主要是解決目前我們js檔案引入臃腫的問題,它可以將我們需要的js檔案定義成一個模組的方式,只要我們想引入某個模組,我們宣告引入就可以了。而且是非同步載入的模式,對瀏覽器體驗也非常好,不會阻塞渲染。

基本API
require定義三個變數:define,require,requirejs,其中require === requirejs,一般使用require更簡短
define 從名字就可以看出這個api是用來定義一個模組
require 載入依賴模組,並執行載入完後的回撥函式

第一步: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函式中發現有$引數,這個就是依賴的jquery模組的輸出變數,如果你依賴多個模組,可以依次寫入多個引數來使用:

講講data-main這個屬性:

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

其實就是引入require.js後,再引入js資料夾下的main.js檔案