什么是模块化?模块化的优点?cultivated
什么是模块化:
CommoonJs
每⼀个js⽂件就是⼀个就是模块,每个模块有单独的作⽤域。
模块以ports为出⼝,输出⼀个对象。
使⽤require⽅法读取⽂件,并返回其内部的ports对象。
问题:
同步加载,在服务端很正常但是在充满异步的浏览器中⽤就不合适了。
AMD
规定⽤全局全局变量函数define来定义模块,⽤法为define(id,dependencies,factory);
id:模块标识
dependencies:是⼀个数组,⾥⾯是该模块依赖的其他模块
retailingfactory:是⼀个匿名函数,⾥⾯是该模块的逻辑。
CMD
讨厌的英文ajs全⾯拥抱Modules/Wrappings规范,不⽤requirejs那样回调的⽅式来编写模块。
⽽它也不是完全按照Modules/Wrappings规范,ajs并没有使⽤declare来定义模块,⽽是使⽤和requirejs⼀样的define。定义模块时⽆需罗列依赖数组,在factory函数中需传⼊形参require,exports,module,然后它会调⽤factory函数的toString⽅法,对函数的内容进⾏正则匹配,通过匹配到的require语句来分析依赖。
mercury>hammer是什么意思
AMD与CMD的区别
考试紧张怎么办
AMD和CMD最明显的区别就是在模块定义时对依赖的处理不同yolo是什么意思
hollaAMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块
CMD推崇就近依赖,只有在⽤到某个模块的时候再去requirebrandish
玩具总动员3 下载模块化设计的优点:
1、⾮常便于内容的组织和管理;
2、适⽤于响应式框架;
3、融合卡⽚和极简风格;