Javascript模块化开发学习笔记

学习了阮一峰大神关于javascript模块化开发整理的笔记:

总结:使用require.js只需做三件事情。
1.定义模块

// math.js

  define(function (){

    var add = function (x,y){

      return x+y;

    };

    return {

      add: add
    };

  });
  //如果当前定义的模块还需要依赖其它模块,如下:
  define(['myLib'], function(myLib){

    function foo(){

      myLib.doSomething();

    }

    return {

      foo : foo

    };

  });

2.加载模块

// main.js

  require(['math'], function (math){

    alert(math.add(1,1));

  });

加载非规范的模块

//举例来说,underscore和backbone这两个库,都没有采用AMD规范编写。如果要加载它们的话,必须先定义它们的特征。
require.config({
   shim: {
     'underscore':{
           exports: '_'
        },
       'backbone': {
         deps: ['underscore', 'jquery'],
         exports: 'Backbone'
       }
    }
});
//shim属性,专门用来配置不兼容的模块。[也就是自己定义的模块]具体来说,每个模块要定义(1)exports值(输出的变量名),表明这个模块外部调用时的名称;(2)deps数组,表明该模块的依赖性。



//比如,jQuery的插件可以这样定义:
shim: {
   'jquery.scroll': {
   
     deps: ['jquery'],

     exports: 'jQuery.fn.scroll'

   }
}

3.配置文件require.config

//path属性指定各个模块的加载路径(这种写法默认主模块和这些模块在同一目录下)
require.config({
    paths: {
      "jquery": "jquery.min",
      "underscore": "underscore.min",
      "backbone": "backbone.min"

    }

  });
//这种是直接改变基目录baseUrl
require.config({
    baseUrl: "js/lib",
    paths: {
      "jquery": "jquery.min",
      "underscore": "underscore.min",
      "backbone": "backbone.min"

    }

  });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值