首页 > 编程语言 >关于 JavaScript 模块化的描述

关于 JavaScript 模块化的描述

时间:2023-11-05 23:55:04浏览次数:49  
标签:CMD 规范 模块化 require JavaScript AMD js 描述

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出,而CMD 是 SeaJS 在推广过程中对模块定义的规范化产出,
也就是,RequireJS遵循AMD规范,而Sea.js遵循CMD规范

eaJs遵循CMD规范为通用模块规范,RequireJs遵循AMD规范为异步模块规范。CMD依赖就近,AMD依赖前置。


//CMD Common Module Definition 
define(function(require, exports, module) {
    var a = require('./a')
    a.doSomething()
    //...
    var b = require('./b') // 依赖可以就近书写
    b.doSomething()
    // ... 
    })

//AMD Asynchronous Module Definition 
define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好
    a.doSomething()
    //...
    b.doSomething()
    //...
    })

AMD和CMD都是浏览器端的js模块化规范,分别由require.js和sea.js实现。 CommonJS是服务器端的js模块化规范,由NodeJS实现。

第一:首先区分浏览器端和服务器端的js模块化规范。

1)浏览器端的js模块化规范:AMD 和 CMD

2)服务器端的js模块化规范:CommonJS(注:由NodeJS实现)

第二:浏览器端的js模块化规范分别由什么实现。

1)AMD是由require.js实现的(记忆法,认为A是Async异步, 依赖前置,就是所有的依赖必须放在最前面)

2)CMD是由sea.js实现的(依赖就近,所有依赖需要了再引入)

标签:CMD,规范,模块化,require,JavaScript,AMD,js,描述
From: https://www.cnblogs.com/longmo666/p/17811605.html

相关文章

  • Javascript中表达式 "2"+3+4 的值为 "234"
    是左关联,表达式相当于("2"+3)+4根据ES5规范11,6,1节,如果某个操作数是字符串或者能够通过以下步骤转换为字符串的话,+将进行拼接操作。数字+字符串=>(数字).toString()+字符串如:1+'2'=12数字-字符串=>数字-Number(字符串)如:1-'2'=-1+是左连接......
  • 在JavaScript中生成随机字符串/字符
    内容来自DOChttps://q.houxu6.top/?s=在JavaScript中生成随机字符串/字符我想要一个由随机从集合[a-zA-Z0-9]中选取的字符组成的5个字符的字符串。在JavaScript中实现这个功能的最佳方法是什么?我认为这个代码可以满足你的需求:functionmakeid(length){letresult=......
  • 请使用JavaScript比较两个日期的代码
    内容来自DOChttps://q.houxu6.top/?s=请使用JavaScript比较两个日期的代码有人能提供一种使用JavaScript比较两个日期值大于、小于和不在过去的方法吗?这些值将来自文本框。使用JavaScript比较两个日期值大于、小于和不在过去的方法如下:使用Date对象,可以为每个日期构造一个......
  • 异常检测算法-完全卷积数据描述子FCDD
    文献来源:EXPLAINABLEDEEPONE-CLASSCLASSIFICATION   最近在做一些异物检测之类的算法任务,原本想使用目标识别算法,但是问题是正样本太多,而负样本没几个。所以有必要使用异常检测算法,日后不妨再结合目标识别任务去做。在正式开始前,需要先简单介绍一个广义损失函数的东西......
  • JavaScript内存管理——隐藏类
    根据JavaScript所在的运行环境,有时候需要根据JavaScript引擎采取不同的性能优化策略。如果代码非常注重性能,那么隐藏类对我们是非常重要的。比如以下的代码:functionUser(){this.name="UserName";}letuser1=newUser();leruser2=newUser();在上面的代码中......
  • 手撕Vuex-模块化共享数据下
    前言好,经过上一篇的介绍,了解了Vuex当中的模块化,本章主要介绍Vuex当中的模块化共享数据下篇。我们知道在全局的Store对象当中,我们可以定义全局的数据,那么如果我们在模块当中也定义了一个属性名称和全局的属性名称相同,那么会发生什么呢?我们先来看看,在全局当中定义了一个gl......
  • 【趣味Javascript】前端开发中不为人知的LHS和RHS查询,你真的弄明白了吗? 《1024程序
    ......
  • JavaScript复习——03 函数
    函数在JS中也是一个对象,它具有其它对象的所有功能,函数中可以存储代码,且可以在需要的时候调用这些代码函数的操作函数的定义函数声明function函数名([参数列表]){ //函数体 return返回值;}函数表达式const函数名=function([参数列表]){ return返回值;}......
  • JavaScript知识点
    成员对象1、window.eventwindow.documentwindow.history2、window.screenwindow.navigatorwindow.externalWindow对象的属性如下1、window//窗户自身2、window.self//引用本窗户window=window.self3、window.name//为窗户命名4、window.defaultStatus//设定窗户状态栏信息5、w......
  • JavaScript知识点
    同源限制1、同源策略指的是∶协议,域名,端口相同,同源策略是一种安全协议2、举例说明:比如一个黑客程序,他利用lframe把真正的银行登录页面嵌到他的页面上,当你使用真实的用户名,密码登录时,他的页面就可以通过Javascript读取到你的表单中input中的内容,这样用户名,密码就轻松到手了。offse......