前端模块化(1)概述

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
AMD 规范内容:https://github.com/amdjs/amdjs-api/blob/master/AMD.md
CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
CMD 规范内容:https://github.com/seajs/seajs/issues/242

CommonJS 是以在浏览器环境之外构建 JavaScript 生态系统为目标而产生的项目,比如在服务器和桌面环境中。
CommonJS 规范内容:http://wiki.commonjs.org/wiki/CommonJS
中文:http://shouce.jb51.net/webpack/commonjs.html

RequireJS 的标准语法是:

1
2
3
4
5
6
7
8
9
require.config({
paths:{
"jquery":'../lib/jquery.min'
}
});
require(['jquery'],function($){
...
//通过此方式引入jquery才能使用$,接下来正常写jquery代码就好
})

SeaJS 规范的标准语法是:

1
2
3
4
5
6
7
define(function (require, exports, module) {
var $ = require("jquery");

exports.sayHello = function () {
$("#hello").toggle("slow");
};
});
1
2
3
4
5
6
7
8
9
seajs.config({
alias: {
jquery: "http://modules.seajs.org/jquery/1.7.2/jquery.js",
},
});

seajs.use(["./hello", "jquery"], function (hello, $) {
$("#beautiful-sea").click(hello.sayHello);
});

CommonJS 标准语法

1
2
3
module.exports = function (value) {
return value * 2;
};
1
var multiplyBy2 = require("./moduleA");

推荐文章:
https://www.cnblogs.com/fps2tao/p/10823468.html
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Modules