RequireJS簡單介紹即使用


RequireJS介紹

RequireJS 是一個JavaScript模塊加載器。它非常適合在瀏覽器中使用。使用RequireJS加載模塊化腳本將提高代碼的加載速度和質量。

兼容性

 

瀏覽器(browser)  是否兼容
IE 6+ 兼容 ✔
Firefox 2+ 兼容 ✔
Safari 3.2+ 兼容 ✔
Chrome 3+ 兼容 ✔
Opera 10+ 兼容 ✔

優點

實現js文件的異步加載,避免網頁失去響應
管理模塊之間的依賴性,便於代碼的編寫和維護

快速上手

  • step 1
    • 引入require.js
    • require()中的依賴是一個數組,即使只有一個依賴,你也必須使用數組來定義
    • 第二個參數是回調函數(callback),可以用來解決模塊之間的依賴性
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="require.js"></script>
        <script type="text/javascript">
            require(["js/a"], function(){
                alert("load finished");
            });
        </script>
    </head>
    <body>
      body
    </body>
</html>
  • step 2
    • require.config是用來配置模塊加載位置
    • 如果固定的位置比較長,可以使用 baseUrl : "js",則paths中就不用寫js了
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="require.js"></script>
        <script type="text/javascript">
            require.config({
                paths : {
                    "jquery" : ["http://vs.thsi.cn/js/jquery-1.7.2.min", "js/jquery"],
                    "a" : "js/a"                
                }
            });

            require(["jquery", "a"], function(){
                alert("load finished");
            });
        </script>
    </head>
    <body>
      body
    </body>
</html>

 

  • step 3
    • step 2中重復出現了require.config配置,如果每個頁面中都加入配置,就顯得不大好了,requirejs提供了一種叫"主數據"的功能
    • 創建一個main.js把step 2中require.config放到main.js中
<script data-main="js/main" src="js/require.js"></script>
  • step 4
    • 通過require加載的模塊一般都需要符合AMD規范即使用define來申明模塊,但是部分時候需要加載非AMD規范的js,這時候就需要用到另一個功能:shim
require.config({
    shim: {
        "underscore" : {
            exports : "_";
        },
        "jquery.form" : ["jquery"]
    }
});
require(["jquery", "jquery.form"], function($){
    $(function(){
        $("#form").ajaxSubmit({...});
    })
});

 

鏈接

阮一峰關於js模塊化編程說明:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM