zoukankan      html  css  js  c++  java
  • 前端模块化

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

    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();
    });
    
    
    
  • 相关阅读:
    Mysql锁机制--读锁
    分布式自增ID算法snowflake
    MySql的时区(serverTimezone)引发的血案
    springBoot2.x启动项目报java.sql.SQLNonTransientConnectionException
    idea生成构造方法的快捷键(看这篇就够了)
    MYSQLl给用户授予数据库表权限
    SpringBoot2.x打包成war(看这篇就够了)
    linux下tar命令解压到指定的目录
    MySQL的JDBC驱动(8.0版本)
    使用TortoiseGit(乌龟)上传本地项目至码云
  • 原文地址:https://www.cnblogs.com/alicezq/p/4984510.html
Copyright © 2011-2022 走看看