Common.js 的理解!
commonJS规范:
1.文件即为模块
每个文件都是一个作用域,文件里面定义的变量\函数都是私有的,
对其他模块都是不可见的;
2.使用module.exports (exports) 暴露对外的接口.
module变量代表当前模块,module是一个对象,使用这个对象属性exports 暴露对外的接口;
3.使用require 同步加载依赖模块
举个栗子:
a.js : 这是一个立即执行的函数表达式来暴露接口
var moduleA = (function () {
var aFlag = false;
function keepMoving () {
}
b = 1;
// 只暴露 keepMoving 方法
return {
keepMoving: keepMoving
};
})()
a.js 功能模块a 的代码
var aFlag = false;
function keepMoving () {
}
b = 1;
module.exports = {//使用 module.exports 暴露接口
keepMoving: keepMoving
};
d.js 这个模块依赖于上面的模块A
//使用require加载模块A;
var moduleA = require('./a.js');
function methodD() {//调用模块a里面的方法
moduleA.keepMoving();
}
//暴露模块D的接口
module.exports = {
methodD: methodD
};