zoukankan      html  css  js  c++  java
  • AMD CMD commonJS es6

    看到很多人傻傻的分不清楚 AMD、CMD 、 commonJS 、 es6的区别,实际上这跟这几年前段技术的发展有很大的关系。

    实际上这是JavaScript的模块化思想演进的一个过程。

    最开始的时候我们都是在 首页 index.html 中,通过N多个<script>标签来引入各个js文件(每个js 文件就是一个单独的模块)。这其中我们的加载先后的顺序非常的受限制。需要根据依赖的先后进行依次加载。

    AMD首先它是一个规范  全称是Asynchronous Module Definition,即异步模块加载机制。AMD很短也很简单,但它却完整描述了模块的定义,依赖关系,引用关系以及加载机制。从它被requireJS,NodeJs,Dojo,JQuery使用也可以看出它具有很大的价值。AMD规范简单到只有一个API,即define函数:

    define([module-name?], [array-of-dependencies?], [module-factory-or-object]);
       module-name: 模块标识,可以省略。
       array-of-dependencies: 所依赖的模块,可以省略。
       module-factory-or-object: 模块的实现,或者一个JavaScript对象。

     常用的require.js就是这个的规范实现。

    CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。seaJs是国内著名工程师玉伯提出来的,它既遵循了amd规范,又遵循commonJs规范,所以称之为cmd规范。

    CommonJS规范是诞生比较早的。NodeJS就采用了CommonJS,这种写法适合服务端,因为在服务器读取模块都是在本地磁盘,加载速度很快。但是如果在客户端,加载模块的时候有可能出现“假死”状况,因为它是同步加载所要依赖的其他模块。

    es6 的意思是javascript 本事实现了 模块化的  不用再引入第三方库(如:require.js  sea.js)

  • 相关阅读:
    Memcached初识
    排序
    查找
    Redis初识

    C#
    C#
    C#
    C#
    C#
  • 原文地址:https://www.cnblogs.com/Paul-Yellow/p/10077461.html
Copyright © 2011-2022 走看看