目录

CMD

 

概述

CMD(CommonJS)是服务器端模块的规范,一个单独的文件就是一个模块,使用require引用模块。

示例

// lib.js
exports.add = function(a,b) {
    return a+b;
};
 
// funcs.js
var add = require('lib').add;
exports.increment = function(val) {
    return add(val, 1);
};
 
// programs.js
var inc = require('funcs').increment;
var a = 1;
inc(a); // 2

代码说明

CommonJS规范主要包含两部分。

主要特点

原理探究

CommonJS采用的是同步方式加载模块,哪里有require语句就在哪里加载模块(等模块加载完成才能执行后面的操作),这样模块的执行顺序与编写的顺序是完全一致的。

在服务器端比如NodeJs(采用了commonJS),所需加载的模块文件一般已经存在,所以这种情况下,使用require语句加载模块所需的时间是很短的,虽然是同步模式,也不会太久的阻塞主程序的正常执行。

正如上面所说CommonJS是服务器端模块的规范,其本身并不是针对浏览器设计的,因此在浏览器里使用时通常需要做一些对应,由于浏览器端天生的异步特性,如果想要使用CommonJS规范,必须想办法来规避同步机制带来的模块加载的时间损耗问题。为了解决这个问题一般有两种思路:

参考链接