Jquery,require.js,backbone.js.样品申请

Pri*_*ain 1 jquery requirejs backbone.js

模块加载器有什么用?它如何在JQuery中使用?如何使用require.js作为模块加载器.请分享示例应用程序.如果你有!!

Jes*_*sus 9

好吧,我分成几部分

什么是模块加载器?

OK在Js中你不能使用导入指令(你可以在节点中使用.)这么多人将他们的代码放在一起(甚至是他们使用的库)所以他们不需要加载任何东西,但这可以带来很大的js文件并为你的应用程序添加加载时间,其他人认为他们将代码分开并使用标签逐个加载,但这是不切实际的,因为你必须维护html页面中的所有定义,所以这里是require.js来了并通过创建模块并按需加载来帮助您对代码进行decopule.这样可以轻松分离代码,并使小块更容易修复,维护或添加功能.

来自require.js文档

"当项目达到一定规模时,管理项目的脚本模块开始变得棘手.您需要确保按正确的顺序对脚本进行排序,并且您需要开始认真考虑将脚本组合到一个包中部署,以便只加载一个或极少数的请求来加载脚本."

它如何在JQuery中使用?

我将问题更改为如何使用JQuery

您将在需要时加载Jquery作为依赖项,这里有一个基本示例

如何使用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>
Run Code Online (Sandbox Code Playgroud)

我们的main.js

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

配置的一部分

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

    modules: [
        {
            name: "main",
            exclude: ["jquery"]
        }
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮到你.您可以在此处下载示例项目

我将添加我的应用程序示例,以便您了解如何使用Backbone和require

配置

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',

    }

  });
Run Code Online (Sandbox Code Playgroud)

一个示例模块

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

与require一起工作很开心:-)