• 前端模块化


    最近学习了模块化的编程理念

    COMMONjs是服务器端模块化的规范,nodejs采用这个规范同步加载。因此也分了三个派别

    1.AMD脱离了commonJs,一部加载模块,支持对象函数,字符串,JSON等各种类型的模块。

    2.CMD

    CMD是SeaJS 在推广过程中对模块定义的规范化产出.SeaJs推崇一个模块一个文件,遵循同一的写法。

    UMD是CMD CommonJs的糅合r

     

    CMD和AMD的区别有以下几点:

    1.对于依赖的模块AMD是提前执行,CMD是延迟执行。不过RequireJS从2.0开始,也改成可以延迟执行(根据写法不同,处理方式不通过)。

    2.CMD推崇依赖就近,AMD推崇依赖前置。

    //AMD

    define(['./a','./b'], function (a, b) {

        //依赖一开始就写好

        a.test();

        b.test();

    });

    //CMD

    define(function (requie, exports, module) {

         

        //依赖可以就近书写

        var a = require('./a');

        a.test();

         

        ...

        //软依赖

        if (status) {

         

            var b = requie('./b');

            b.test();

        }

    });

    3.AMD的api默认是一个当多个用,CMD严格的区分推崇职责单一。例如:AMD里require分全局的和局部的。CMD里面没有全局的 require,提供 seajs.use()来实现模块系统的加载启动。CMD里每个API都简单纯粹。

    例子单页面运用

    主页:

    <body>
    <div id="content"></div>
    </body>
    </html>
    <script src="js/seajs_modules/sea.js"></script>
    <script src="js/seajs_config.js"></script>//配置js文件

    配置

    seajs_config.js文件
    seajs.config({
    base:".",
    alias:{
    "jquery":"js/seajs_modules/jquery-1.11.2-min",
    "bootstrap":"js/seajs_modules/bootstrap.min",
    "reg":"js/modules/reg/reg",//注册页面
    "login":"js/modules/login/login",//登录页面
    "sse":"js/modules/sse/sse"//显示页面

    }
    });
    seajs.use("sse",function(reg){
    reg.load();
    });
    
    
    
  • 相关阅读:
    L110 promise
    2018.7.7 MBA -从专业到管理(1)—— 技术人才与的管理人才比较
    2018.7.9 AVR-BAT program
    2018.7.6 TX射频调试-PP
    红外伪装(利用石墨烯通电)
    2018.7.2 AK22 不良品分析
    2018.6.25会议跟进
    2018.6.24异常跟进
    PyQt(Python+Qt)学习随笔:Model/View中的枚举类 Qt.MatchFlag的取值及含义
    PyQt(Python+Qt)学习随笔:基于项的项部件(Item Widgets(Item-Based))概述
  • 原文地址:https://www.cnblogs.com/alicezq/p/4984510.html
Copyright © 2020-2023  润新知