module: 模块就是实现特定功能的一组方法。
1、在首页的一个接口js;首先下载好require.js文件引入首页。
  <script src="require.js" data-main="main.js"/>
2、在main.js中加载需要的模块。require()地方法。
  

require(["XXX"],["yyy"],function(xxx,yyy) {
    xxx.mmm;
    //some code
  });  

  require(),方法中有两个参数,第一个以数组的形式存放加载依赖模块,注意模块的顺序。

3、模块中的注意事项:要符合AMD规范。采用define();来定义模块,然后return出去。
  

define(function() {
    var add = function(a,b) {
      return a+b;
    };       return {
      add : add
    }  
  });

  在define();方法中也可以传入依赖模块,同样以数组的形式存放。

4、require的config()方法参数配置:
  require.config({ });他接受一个对象格式的数据:
  1)、paths: {},paths属性接受依赖模块的的路径,
  

paths: {
    "jquery" : "js/bin/jquery.js",
    ...
  }

  也可以改变基本目录:

  

baseUrl : "js/bin",
  paths : {
    "jquery" : "jquery.js",
    ...
    }

  2)、shim:{},属性专门来配置不兼容的模块,每个模块都要定义一个exports值输出的变量名,表明外部模块调用的名称。deps数组表示该模块的依赖模块。

  

shim: {
    "backbone" : {
      deps : ["jQuery"],
      exports : "_"
    }
  }
  shim: {
    'jquery.scroll': {
      deps: ['jquery'],
      exports: 'jQuery.fn.scroll'
    }
  }
  index.js:
  require.config({
    paths: {
      "jQuery" : "jquery-1.12.4.js"
    }
  });   require(["module1","module2"],function(module1,module2) {
    // console.log( math.num(3,4) );
    // alert("主js加载成功!");
    alert( module1.add(5,3) );
    alert( $(".box").length );
    // alert(module1.a);
    alert(module2.sub(100,2));
    module1.spanFn();
  });   module1.js:
  define(["jquery-1.12.4","module2"],function() {
    // var a = module2.sub(100,2);
    // for(var i = 0;i < 10;i++) {
      // a++;
    // }     var add = function(a,b) {
      return a+b;
    };  
    var spanFn = function() {
      $("span").click(function() {
        alert("span");
      });
    };     return {
      add : add,
      spanFn :spanFn
    }
  });
  module2.js:
  define(function() {
    var sub = function(a,b) {
      return a/b;
    };
    return {
      sub : sub
    }
  });

JavaScript--模块化 JavaScript module designer的更多相关文章

  1. Javascript模块化编程(二):AMD规范

    Javascript模块化编程(二):AMD规范   作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_d ...

  2. Javascript模块化编程(一):模块的写法

    Javascript模块化编程(一):模块的写法 作者: 阮一峰 原文链接:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html ...

  3. Javascript模块化编程(二):AMD规范(转)

    这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要 ...

  4. Javascript模块化编程(一):模块的写法(转)

    随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者 ...

  5. Javascript模块化规范

    Javascript模块化规范 一.前端js模块化由来与演变 CommonJS 原来叫 ServerJS,推出 Modules/1.0 规范后,在 Node.js 等环境下取得了很不错的实践.09年下 ...

  6. Javascript模块化开发,使用模块化脚本加载工具RequireJS,提高你代码的速度和质量。

    随着前端JavaScript代码越来越重,如何组织JavaScript代码变得非常重要,好的组织方式,可以让别人和自己很好的理解代码,也便于维护和测试.模块化是一种非常好的代码组织方式,本文试着对Ja ...

  7. Javascript模块化编程(二):AMD规范 作者: 阮一峰

    声明:转载自阮一峰的网络日志 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可 ...

  8. Javascript模块化编程(一):模块的写法 作者: 阮一峰

    声明:转载自阮一峰的网络日志 随着网站逐渐变成"互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂. 网页越来越像桌面程序,需要一个团队分工协作.进度管理. ...

  9. 该如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结

    是一篇关于javascript模块化AMD,CMD,CommonJS的学习总结,作为记录也给同样对三种方式有疑问的童鞋们,有不对或者偏差之处,望各位大神指出,不胜感激. 本篇默认读者大概知道requi ...

  10. Javascript模块化编程之路——(require.js)

    转自:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html Javascript模块化编程(一):模块的写法 随着网站逐渐变成&q ...

随机推荐

  1. 開始EEPlat之旅

    怎样開始EEPlat之旅 EEPlat分为社区版和商业版:功能上分为企业版和PaaS版.下面为社区企业版的開始之旅. 第一步:安装project,有两种:war包和代码project.(眼下googl ...

  2. poj2002 哈希

    Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 17666   Accepted: 6735 Descript ...

  3. 记录一下 mysql 的查询中like字段的用法

    SELECT * from t_yymp_auth_role where role_name not like '%测试%' and role_name not like '%部门%' and rol ...

  4. VC++中的延时函数

    原文链接:http://www.educity.cn/develop/478947.html VC中提供了很多关于时间操作的函数,编写程序时我们可以跟据定时的不同精度要求选择不同的时间函数来完成定时和 ...

  5. SQL函数_Charindex()

    1 charindex()函数的作用是用于发现目标字符串第一次出现在源字符串中出现的开始位置. 语法如下 : select charinde(目标字符串,列名或字符串[,起始位置]) from 表名

  6. 无法在WEB服务器上启动调试

    错误:站点使用 IP 地址 Visual Studio 2012 调试器尝试自动附加到正在使用 IP 地址的 Web 应用程序时,会发生该错误. 如果在 IIS 中将“网站标识”更改为“使用特定 IP ...

  7. 【剑指Offer学习】【面试题27:二叉搜索树与双向链表】

    题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建不论什么新的结点.仅仅能调整树中结点指针的指向. 比方输入图4.12 中左边的二叉搜索树,则输出转换之后的排序现向链表. ...

  8. sql-server 2005数据库文件恢复(检測到基于一致性的逻辑 I/O 错误)

    今天sql-server数据库突然报错: SQL Server 检測到基于一致性的逻辑 I/O 错误 校验和不对(应为: 0x7c781313,但实际为: 0x67a313c9). 在文件 'C:\P ...

  9. hdu5372 Segment Game

    Problem Description Lillian is a clever girl so that she has lots of fans and often receives gifts f ...

  10. Virtual Reality: Immersive Yourself In Your 3D Mockup

    ESI's Virtual Reality software solution IC.IDO is an exceedingly powerful immersive engineering solu ...