模块化规范

common.js AMD异步模块定义(require.js) CMD 通用模块定义(sea.js)
1.文件即模块
2. 使用module.exports(exports)暴露对外接口
3.使用require同步加载依赖模块
1.define定义模块
2.使用require调用模块
3.AMD 推崇依赖前置,在定义模块的时候就要声明其依赖的模块
4.AMD 提前执行依赖(异步加载:依赖先执行)+延迟执行
1.define定义模块
2.使用require调用模块
3.CMD 推崇依赖就近,只有在用到某个模块的时候再去 require
4.CMD 延迟执行依赖(运行到需加载,根据顺序执行)
var moduleA = require('./a.js');
var a=0;
function method(){...}
module.exports = {a:a,method:method}
define(id?,dependencies?,factory);
// id:模块标识,可选,默认为文件名。
// dependenices:依赖的模块数组,可选,默认为['require','exports','module']
// factory:模块初始化要执行的函数或对象
require(modules,callback);
// modules:加载的模块ID数组
// callback:加载后的回调
define(function(require, exports, module) {
var a = require('./a')
a.doSomething()
// 依赖可以就近书写
var b =require('./b')
b.doSomething()
})

你可能感兴趣的:(模块化,web前端,javascript)