requireJs

RequireJS是一個(gè)JavaScript文件和模塊加載器。
  • RequireJS包含三個(gè)重要的函數(shù):require,define和requirejs。
  • 其中require和requirejs其實(shí)是同一個(gè)函數(shù)。

命名空間

模塊定義

創(chuàng)建一個(gè)項(xiàng)目規(guī)劃


QQ截圖20171103183828.png
  1. 在html中
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>requireJs</title>
  </head>
  <body>
    <div id="div"></div>
    <div id="div2"></div>
    <ul id="ul">
      <li><a href="javascript:void(0)">小逗比__PS</a></li>
      <li><a href="javascript:void(0)">小逗比__HTML</a></li>
      <li><a href="javascript:void(0)">小逗比__CSS</a></li>
      <li><a href="javascript:void(0)">小逗比__JavaScript</a></li>
    </ul>
      // 你可以使用本地的--也可以使用cdn
      // data-main = "js/main"  這是入口文件 
    <script data-main="js/main" src="https://cdn.bootcss.com/require.js/2.3.5/require.min.js"></script>
    <script type="text/javascript">
    </script>
  </body>
</html>
  1. 創(chuàng)建一個(gè)main.js
    這是寫(xiě)入require配置的,也是總文件,引入多個(gè)子文件
 // 配置文件
require.config({
  baseUrl: "./js",
    paths:{   // 配置路徑
        'mobile' : "https://assets.alicdn.com/apps/top/c/sdk-mobile",
        'jquery': "https://cdn.bootcss.com/jquery/3.2.1/jquery.min",
        // 'zepto': "https://g.alicdn.com/sj/lib/zepto/zepto.min",
        "sui" : "https://g.alicdn.com/msui/sm/0.5.6/js/sm.min",
        'index': 'index',
        'index2': 'index2',
    },
    //require.config()的配置對(duì)象
    shim:{
        'index':{  //這里引入的第一個(gè)js文件
            // deps: ['zepto','mobile'],  // deps 定義依賴(lài) 依賴(lài)于jquery
            deps: ['jquery','mobile'],  // deps 定義依賴(lài) 依賴(lài)于jquery
            exports: 'writeIndex'
        },
        'index2':{  //這里引入的第二個(gè)js文件
          deps: ['jquery','mobile'],
            exports: 'writeIndex2'
        }
    }
})
//導(dǎo)入模塊
require(['jquery','index','index2'], function ($,index,index2) {
    //這里是指所有的js執(zhí)行完,執(zhí)行這里的代碼
});

  1. 在 index.js 中使用jquery
define(function(){  //定義函數(shù)
    $('#div').html("require模塊化");
    $('#ul').on("click","li a",function(){
      $(this).css({color:'red'}).parent().siblings("li").children().css({color:"#00e"})
      console.log(($(this).html()+"(你以為這就完事了??我特么還可以再?gòu)椧淮?,有時(shí)候裝逼就是這么簡(jiǎn)單!)"));
    });
});

  1. 在index2中使用jquery
define(function(){
  function writeIndex2(){
    $("#div2").html("hello world")
  }
return writeIndex2();
});

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 導(dǎo)語(yǔ): 之前一直有聽(tīng)說(shuō)RequireJS,但是一直都沒(méi)機(jī)會(huì)去了解,只知道它是一個(gè)給js做模塊化的API。最近在做R...
    wuqke閱讀 41,168評(píng)論 11 78
  • RequireJS是一個(gè)非常小巧的JavaScript模塊載入框架,是AMD規(guī)范最好的實(shí)現(xiàn)者之一。最新版本的Req...
    清葉閱讀 595評(píng)論 0 1
  • 什么是requireJS? requireJS發(fā)揮的作用 簡(jiǎn)單總結(jié)起來(lái)就2點(diǎn) 改善了用戶(hù)體驗(yàn),它使js文件異步加載...
    阿波羅程序猿閱讀 873評(píng)論 0 0
  • 一直以來(lái),都以為愛(ài)是深藏在心底的精靈,它純潔、充滿(mǎn)暖意,本以為它不會(huì)過(guò)多的表露在身邊,可是,它一直都真真切切...
    白箋閱讀 258評(píng)論 0 1
  • 苦苦看了我兩天,最近后臺(tái)為了減輕壓力,要我做緩存,我說(shuō)好吧...... 借鑒了別人的說(shuō)法找到一張圖可以看明白好多:...
    walkingzmz閱讀 431評(píng)論 0 1

友情鏈接更多精彩內(nèi)容