模块化与打包--require.js

为什么要使用模块化?
  • 解决命名冲突
  • 依赖管理
  • 提高代码可读性
  • 代码解耦,提高复用性
CMD、AMD、CommonJS 规范分别指什么?有哪些应用
  • AMD
    是”Asynchronous Module Definition”的缩写,意思就是”异步模块定义”。采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。
    语法:define(id, dependences, factory);
  • CommonJS:
    用于服务器端模块化,有一个全局性方法require(),用于加载模块。
    语法:
require(dependences) // 加载依赖模块
exports.factory = function(){ // ...};  // 使用”exports”对象来做为输出的唯一表示。
  • CMD:
    CMD(Common Module Definition)是 SeaJS推广过程中产生的。和AMD不同的是,它并不是异步加载,而是松散加载,只有当需要加载模块的时候,再用require方法引用模块。
    语法:define(factory);
// CMD
// math.js 
define(function(requires, exports, module) {
exports.add = function(x, y) {
return x + y;
};
});
// inc.js
define(function(requires, exports, module) {
var add = require('math').add;
exports.inc = function(val) {
return add(val, 1);
};
});
// program.js
define(function(require, exports, module) {
var inc = require('inc').inc;
var a = 1;
inc(a); // 2
module.id = "program";
});

具体请看下面样列:
http://tuituibang.top/Example_one/WTF.html

你可能感兴趣的:(模块化与打包--require.js)