传统非模块化开发缺点:
1、命名冲突
2、文件依赖
标准的模块化规范:
1、AMD-requirejs
2、CMD-seajs
服务器端模块化规范:
1.CommonJS-Node.js
模块化相关的规则:
1、如何定义模块:一个Js文件就是一个模块,模块内部成员相互独立
2、模块成员的导出和引入
nodejs模块化示例:
1.方式1
所需模块0.js
//定义模块成员
var sum = function(a,b){
return parseInt(a)+parseInt(b)
}
//导出模块成员
exports.sum = sum
引入模块1.js
//引入模块
var module = require('./0.js')
//使用模块成员
var ret = module.sum(12,13);
console.log(ret);
2.方式2
所需模块0.js
//定义模块成员
var sum = function(a,b){
return parseInt(a)+parseInt(b)
}
//导出模块成员
//exports.sum = sum
//导出成员的另一种方式
module.exports = sum
引入模块1.js
//引入模块
var module = require('./0.js')
//使用模块成员
// var ret = module.sum(12,13);
// console.log(ret);
var ret = module(12,15)
console.log(ret)
3.方式3
所需模块0.js
//定义模块成员
var sum = function(a,b){
return parseInt(a)+parseInt(b)
}
//导出模块成员
global.flag = sum
引入模块1.js
//引入模块
//var module = require('./0.js')
//使用模块成员
// var ret = module.sum(12,13);
// console.log(ret);
//不用引入模块,直接调用全局模块
var ret = global.flag(,)
console.log(ret)
4.规则
1.已经加载的模块会缓存,不会重复加载
2.后缀可省略,不同后缀优先级不同,顺序为.js>.json>.node