• 什么是模块化?模块化的优点?


    什么是模块化:
    CommoonJs
        每一个js文件就是一个就是模块,每个模块有单独的作用域。
        模块以module.exports为出口,输出一个对象。
        使用require方法读取文件,并返回其内部的module.exports对象。
        问题:
        同步加载,在服务端很正常但是在充满异步的浏览器中用就不合适了。
    AMD
        规定用全局全局变量函数define来定义模块,用法为define(id,dependencies,factory);
                    id:模块标识
                    dependencies:是一个数组,里面是该模块依赖的其他模块
                    factory:是一个匿名函数,里面是该模块的逻辑。
    CMD  
           seajs全面拥抱Modules/Wrappings规范,不用requirejs那样回调的方式来编写模块。
           而它也不是完全按照Modules/Wrappings规范,seajs并没有使用declare来定义模块,而是使用和requirejs一样的define。定义模块时无需罗列依赖数组,在factory函数中需传入形参require,exports,module,然后它会调用factory函数的toString方法,
            对函数的内容进行正则匹配,通过匹配到的require语句来分析依赖。
    AMD与CMD的区别

        AMD和CMD最明显的区别就是在模块定义时对依赖的处理不同
        AMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块
        CMD推崇就近依赖,只有在用到某个模块的时候再去require

    模块化设计的优点:
        1、非常便于内容的组织和管理;
        2、适用于响应式框架;
        3、融合卡片和极简风格;

  • 相关阅读:
    flutter sdk版本升级或者降级到指定版本
    flutter upgrage到1.17版本 android打包报错 Could not determine the dependencies of task ':app:lintVitalRelease'.
    小程序 自定义alert弹窗 带动画
    小程序 自定义cell 自定义group
    小程序 自定义弹窗禁止底部内容滚动 textarea内容上移
    css fixed 强制居中
    小程序 正则表达式
    小程序 自定义导航栏
    小程序 swiper自定义dot
    java 中锁的分类
  • 原文地址:https://www.cnblogs.com/zhouxuehao/p/11192704.html
Copyright © 2020-2023  润新知