2012-07-13 69 views
1

模塊加載程序的用途是什麼?它如何在JQuery中使用? 如何使用require.js作爲模塊加載器。 請分享示例應用程序。如果你有!!Jquery,require.js,backbone.js。示例應用程序

+0

http:// backbonetutorials。com/organizational-backbone-using-modules /檢查本教程,這有點舊,但仍然是一個好的入門書。然後看看這個https://github.com/jcreamer898/RequireJS-Backbone-Starter/它包含了第一個教程不包括的require.js的一些新特性(主要是墊片)。 – jakee 2012-07-13 07:27:19

回答

9

好吧,我在部分

什麼是模塊加載器去?

OK在Js中,你不能使用導入指令(很好,在節點中你可以)。所以很多人都將他們的代碼粘在一起(即使他們使用的庫),所以他們不需要加載任何東西,但是這可能會帶來大量的js文件併爲您的應用程序添加加載時間,其他人認爲它們將代碼分開並使用標記加載,但由於您必須在html頁面中維護所有定義,因此這是不實用的,所以這裏是是require.js來幫助你decopule您的代碼通過創建模塊並按需加載。這使得您的代碼很容易分離,並且可以更輕鬆地修復,維護或添加功能。

從require.js文檔

「當項目達到一定規模,管理腳本模塊項目開始變得非常棘手。你需要確保以正確的順序進行排序腳本,和你需要認真思考如何將腳本合併爲一個部署包,以便只有一個或很少的請求被加載腳本。「

它如何在JQuery中使用?

我會將問題更改爲如何使用JQuery

您將加載的Jquery作爲依賴時,需要你有一個基本的例子here

如何使用require.js作爲模塊加載器?

這裏的一小段代碼

的HTML需要

<!DOCTYPE html> 
    <html> 
    <head> 
      <title>jQuery+RequireJS Sample Page</title> 
     <script data-main="scripts/main" src="scripts/require-jquery.js"></script> 
     </head> 
     <body> 
      <h1>jQuery+RequireJS Sample Page</h1> 
    </body> 
    </html> 

我們main.js的配置

paths: { 
     "jquery": "require-jquery" 
    }, 

    modules: [ 
     { 
      name: "main", 
      exclude: ["jquery"] 
     } 

希望的

require(["jquery", "jquery.alpha", "jquery.beta"], function($) { 
    //the jquery.alpha.js and jquery.beta.js plugins have been loaded. 
    $(function() { 
     $('body').alpha().beta(); 
    }); 
}); 

部分這個 可以幫你。你可以下載一個示例項目here

我將添加我的應用程序的一個例子,所以你可以看到如何使用骨幹,並要求

的配置

require.config({ 
    shim: { 
     'underscore': { 
     deps: ['jquery'], //dependencies 
     exports: '_' //the exported symbol 
     }, 
     backbone: { 
     deps: ['underscore', 'jquery'], 
     exports: 'Backbone' 
     } 
    } 

    paths: { 
     jquery: 'libs/jquery/jquery-1.7.1.min', 
     underscore: 'libs/underscore/underscore-min', 
     backbone: 'libs/backbone/backbone-min', 

    } 

    }); 

一個例子模塊

define(['jquery', 'underscore', 'backbone'], function($, _, Backbone) { 
    //Your code Here 
    }); 

玩得開心需要:-)