JavaScript模块化编程

文章目录

Javascript模块化编程的目的是通过加载已有的功能模块,开发者只需实现核心的业务逻辑,方便代码的复用和维护。

AMD

实现JavaScript模块化编程有两种方法:CommonJS和AMD。

node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。以下是CommonJS加载模块和调用模块的方法

var math = require('math');
math.add(2,3); // 5

但由于CommonJS是同步执行,必须等模块加载完才能执行下一步,在浏览器环境中,由于模块在服务器端,如果网速差会导致浏览器处于假死状态,因此浏览器的模块必须采用异步加载,也就是AMD(Asynchronous Module Definition)。

AMD采用异步方式加载模块,模块的加载不影响它后面语句的运行。模块加载和调用也是用require,其中第二个参数是回调函数,所有依赖这个模块的语句,都定义在这个回调函数中,等到加载完成之后,这个回调函数才会运行

require(['math'], function (math) {
  math.add(2, 3);
});

require.js的用法

AMD依赖的模块要用define定义。

// math.js
define(['myLib'], function(myLib){
  function foo(){
    myLib.doSomething();
  }
  return {
    foo : foo
  };
});

然后在另一个文件中用require调用这个模块

// main.js
require(['math'], function (math){
  alert(math.foo());
});

参考
Javascript模块化编程(三):require.js的用法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值