模块化开发

node.js的模块系统,就是参照CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。假定有一个数学模块math.js,就可以像下面这样加载。

  var math = require('math');

然后,就可以调用模块提供的方法:

  var math = require('math');

  math.add(2,3); // 5

因为这个系列主要针对浏览器编程,不涉及node.js,所以对CommonJS就不多做介绍了。我们在这里只要知道,require()用于加载模块就行了。

CommonJS规范不适用于浏览器环境,因为模块都放在服务器端,等待时间取决于网速的快慢,可能要等很长时间,浏览器处于"假死"状态。因此,浏览器端的模块,不能采用"同步加载"(synchronous),只能采用"异步加载"(asynchronous)。这就是AMD规范诞生的背景。

AMD意思就是"异步模块定义",它采用异步方式加载模块.

AMD也采用require()语句加载模块,但是不同于CommonJS,它要求两个参数:

require([module], callback);

第一个参数[module],是一个数组,里面的成员就是要加载的模块;第二个参数callback,则是加载成功之后的回调函数。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 知识 我在网易有道词典上查单词的时候,偶尔发现了下面有,《有道精品课》。抱着试一试,看一看的心理去了解...
    石三英语阅读 1,430评论 0 1
  • 从前,一个孩子的心奔跑偶或的摔跤 等他回过头,折纸飞机和天空远得看不清 从前,树上枯黄的叶子,一片片落下 只留一个...
    楠山_少年阅读 1,137评论 0 0
  • 上篇文章介绍了Java内存模型,没看过《深入理解Java虚拟机》的同学可以去看下Java内存模型 ...
    f36b3e910208阅读 3,490评论 0 1
  • 1. 常用那几种浏览器测试?有哪些内核(Layout Engine)? (Q1)浏览器:IE,Chrome,Fir...
    强哥科技兴阅读 2,206评论 0 1
  • 为什么你的事情总是忙不完? 因为在今天这个高信息密度的碎片化时代,把工作全部忙完——只能是一种妄念。 每天你会给自...
    筑梦小兵阅读 4,678评论 0 2