CommonJS、AMD、CMD的区别(精华)

本文对比分析了CommonJS、AMD和CMD三种JS模块化规范的特点和应用场景。CommonJS适用于服务器端编程,AMD和CMD用于前端,其中AMD推崇依赖前置,CMD主张就近依赖,分别由require.js和sea.js实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、三者都是JS的模块化规范。
二、CommonJS又和AMD、CMD有区别
2、1、CommonJS是基于JS的应用程序的(非浏览器端)模块化规范,主要用于服务器端的编程
2、2、AMD、CMD两者都是用于前端JS模块化规范
三、AMD和CMD的区别:
3、1AMD推崇依赖前置,CMD推崇就近依赖。
依赖前置:通俗得讲就是我们编写程序时需要那些模块(比如jQuery.js,zepto.js)需要预先加载好,然后在执行回调。
就近依赖:当需要某个模块的时候再加载响应的模块,减少HTTP请求。看代码:

//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.2、require.js是AMD的实现,sea.js是CMD的实现

总结:AMD的用户体验更好,因为都是需要预先加载好的模块;CMD的性能更好,因为只有在使用到某个模块的时候才进行加载的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值