美文网首页
模块化的发展史

模块化的发展史

作者: 唯有前行可破焦虑 | 来源:发表于2018-11-20 09:59 被阅读0次

    1 模块化是指对于代码结构的优化,更加方便的管理和维护代码,组件化是对页面功能的具体化,两者没有明显的关系

    2 最先开始的CommonJs  RquireJS,AMD衍生自Commonjs,最后扩展成requireJS,而CommonJS玉伯 集成了seaJs,

     一个是服务器端,一个是web浏览器端,

    两者最大的区别,资源都是异步加载,但是对于执行时间的区别,commonJs需要代码的时候,才会执行(seajscommonjs),

    Requirejs 加载的时候就会执行,预先执行

    3 ES6 模块化机制,支持预先静态编译, 确定模块的依赖关系,确定一个只读的动态引用,commonjs 返回的是一个值的引用,一旦返回,内部的变化不会对外面的返回构成影响,ES6 是一个动态引用,执行的时候会自动调用模块内部的属性和函数,获取最新变化值,对于循环引用有了很好的解决;

    4 ES6的顶层this是undefined,而commonjs的顶层是当前模块;

    5 CMD 和 AMD 两者都是异步加载模块:区别

    AMD:依赖前置,所有的依赖定义的时候就定义OK,加载完就立即执行,而且执行模块的顺序也不是写的顺序;  

    CMD:就近原则,加载完并不执行,调用的时候执行;

    6 requireJS 集成自 AMD,Seajs集成自 CMD,都是浏览器端的模块化插件,commonjs是服务器端的处理方案,ES6 的模块机制是最新的方案;

    7 UMD 对二者的整合,做了跨平台的判断,首先判断是否 exports 再 define 然后是window.module={}

    相关文章

      网友评论

          本文标题:模块化的发展史

          本文链接:https://www.haomeiwen.com/subject/hfrtqqtx.html