AMD CMD UMD CommonJs ESM 的历史和区别
这几个东西都是用于定义模块规范的。有些资料会提及到这些概念,不理清楚非常容易困惑。
ESM(ES Module)
这个实际上我们是最熟悉的,就是ES6的模块功能。出的最晚,因为是官方出品,所以大势所趋,一统江湖指日可待。
CommonJs (nodejs)
这个也非常熟悉。其代表为nodejs,在浏览器环境中无效,需通过babel转码支持。
AMD(asynchronous module definition)
AMD 是 Asynchronous Module Definition 的缩写,即异步模块定义。它是由 RequireJS 的作者 James Burke 提出的一种模块化规范。
这个库有12.9k的start。在ESM出来后,估计这个库估计不会有新用户了。

CMD(Common Module Definition)
CMD(Common Module Definition)是一种JavaScript模块定义规范,主要被用在浏览器端,旨在解决前端模块化开发的需求。这个规范由阿里巴巴的玉伯(尤雨溪)提出,Sea.js 是该规范的主要实现者。
sea.js在github上已经找不到了。而且这个是尤雨溪在阿里巴巴工作的时候做的,可以理解为阿里的KPI工程,虽然是尤雨溪出品,但沾上阿里就根据不靠谱。
UMD(Universal Module Definition)
一套兼容CommonJS、AMD、CMD的方案。还是计较厉害的。但ESM出来后,这个意义也不是很大。
总结
在ESM出来之前,js是没有官方模块规范的。CommonJS凭借nodejs的知名度肯定是名气最大的。AMD CMD虽然都是大佬出的,但规范没法统一,这时候UMD出来解决了CommonJS、AMD、CMD的兼容统一问题。但ESM出来之后,这一切都将变成历史。总之,新代码用ESM就对了。
相关文章:
AMD CMD UMD CommonJs ESM 的历史和区别
这几个东西都是用于定义模块规范的。有些资料会提及到这些概念,不理清楚非常容易困惑。 ESM(ES Module) 这个实际上我们是最熟悉的,就是ES6的模块功能。出的最晚,因为是官方出品,所以大势所趋,…...
人工智能数据基础之微积分入门-学习篇
目录 导数概念常见导数和激活导数python代码绘制激活函数微分概念和法则、积分概念微积分切线切面代码生成案例链式求导法则反向传播算法(重要) 一、概念 二、常见导数及激活导数 常见激活函数及其导数公式: 在神经网络中,激活函数用于引入非线性因素&…...
【PSINS】ZUPT代码解析(PSINS_SINS_ZUPT)|MATLAB
这篇文章写关于PSINS_SINS_ZUPT的相关解析。【值得注意的是】:例程里面给的这个m文件的代码,并没有使用ZUPT的相关技术,只是一个速度观测的EKF 简述程序作用 主要作用是进行基于零速更新(ZUPT)的惯性导航系统(INS)仿真和滤波 什么是ZUPT ZUPT是Zero Velocity Update(…...
多态(上)【C++】
文章目录 多态的概念多态的实现多态产生的条件什么是虚函数?虚函数的重写和协变重写协变 析构函数的重写为什么有必要要让析构函数构成重写? 多态的概念 C中的多态是面向对象编程(OOP)的一个核心特性,指的是同一个接口…...
如何驱动一枚30年前的音源芯片,YMF288驱动手记 Part2
一些问题 在上一篇里面虽然策划了想要驱动YMF288所需要做的事情以及目标。但是,在板子打出来后,我在进一步的研究中,发现我犯了个错误,那就是YMF288并不是使用现在很多轻量化的嵌入式,比如ESP32常用的I2S协议的&#x…...
yarn webpack脚手架 react+ts搭建项目
安装 Yarn 首先,确保你已经安装了 Node.js 和 Yarn。如果还没有安装 Yarn,可以通过以下命令安装: npm install -g yarn创建项目 使用 create-react-app 脚手架创建一个带有 TypeScript 的项目,node更新到最新版,并指定…...
防蓝光护眼灯有用吗?五款防蓝光效果好的护眼台灯推荐
现在孩子的很多兴趣班和课后辅导班都是在线上举行,通常对着手机电脑长时间。电子产品有大量蓝光和辐射,会伤害到孩子的眼睛。但为了学习,也是没办法。护眼台灯的出现可以让孩子们的眼睛得到保护,防止蓝光对眼睛的伤害。防蓝光护眼…...
Mac使用Elasticsearch
下载 Past Releases of Elastic Stack Software | Elastic 解压tar -xzvf elasticsearch-8.15.1-darwin-x86_64.tar.gz 修改配置文件config/elasticsearch.yml xpack.security.enabled: false xpack.security.http.ssl: enabled: false 切换目录 cd elasticsearch-8.15.1/…...
DevOps -CI/CD 与自动化部署
DevOps - CI/CD 与自动化部署详解 DevOps 是一种结合开发(Development)与运维(Operations)的方法论,旨在通过工具和文化变革,促进软件开发和运维之间的协作,提升软件交付的效率、质量和稳定性。…...
单体架构系统是不是已经彻底死亡?
单体架构系统并未“彻底死亡”,尽管在复杂和大规模的应用场景中,它可能不再是首选的架构模式。单体架构系统,也称为巨石系统(Monolithic),在软件发展过程中是最广泛的架构风格之一,出现时间最早…...
mathorcup发邮件:参赛必看邮件撰写技巧?
mathorcup发邮件的注意事项?如何使用mathorcup发信? 无论是提交参赛作品、咨询比赛规则,还是与组委会沟通,一封清晰、专业的邮件都能为你赢得更多机会。AokSend将为你详细介绍mathorcup发邮件的撰写技巧,帮助你在比赛…...
ESP01烧入AT出厂固件
ESP01是一种常见的WIFI模块,其核心是esp8266,常用于给主控拓展WIFI功能,因其体积较小、集成度高、造价便宜,常受到消费者喜爱,ESP01常用的开发方式有两种,一种是利用基于Arduino框架作为独立设备开发&#…...
Qt 开发:深入详解 Qt 的信号与槽机制——彻底搞懂QT信号与槽
一、概念 Qt 的信号与槽(Signals and Slots)机制是一个用于对象间通信的核心特性。这个机制使得对象能以松散耦合的方式进行通信,从而提升了代码的模块化和可维护性。 信号(Signal):对象状态的变化或事件…...
民间故事推广系统小程序的设计
管理员账户功能包括:系统首页,个人中心,用户管理,民族文化管理,节日类型管理,传统节日管理,故事类型管理,民间故事管理,系统管理 微信端账号功能包括:系统首…...
关于武汉芯景科技有限公司的IIC缓冲器芯片XJ4307开发指南(兼容LTC4307)
一、芯片引脚介绍 1.芯片引脚 2.引脚描述 二、系统结构图 三、功能描述 1.总线超时,自动断开连接 当 SDAOUT 或 SCLOUT 为低电平时,将启动内部定时器。定时器仅在相应输入变为高电平时重置。如果在 30ms (典型值) 内没有变为高…...
C++ 异常
这里写目录标题 1.C语言传统的处理错误的方式2.C异常概念3.异常的用法3.1 异常的抛出和捕获3.2 异常的重新抛出3.3异常安全3.4 异常规范 4.自定义异常体系5.标准库异常体系6.异常的优缺点 1.C语言传统的处理错误的方式 传统的错误处理机制: 1. 终止程序,…...
ST官方 VSCode 插件安装及配置工程参考
写在前头 VSCode的用法和插件是月初参加ST官方北京站举办的线下培训中,厂家AE工程师给我们讲的,不同于已经很多人用的(并且一直在吵的)keil assistant什么的,用的是CMake编译,抛弃了原有的keil,…...
使用Pandas读取和写入数据库的Python函数实现
使用Pandas读取和写入数据库的Python函数实现 Pandas是一个强大的数据处理和分析库,广泛应用于数据科学和机器学习领域。结合数据库操作,Pandas可以极大地简化数据的读取和写入过程。本文将详细介绍如何使用Pandas实现读取和写入数据库的函数,涵盖数据库连接、数据读取、数…...
Redis——常用数据类型hash
目录 hash常用命令hsethgethdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhdecrby 哈希的编码方式哈希的应用 hash 常用命令 hset HSET key field value [field value ...]//时间复杂度O(1) //返回值:设置成功的键值对的个数hget HGET key field//hdel HDEL key…...
基于Python实现一个庆祝中秋节的小程序
功能包括: 使用复杂的库来计算农历日期:可以使用 lunarcalendar 库来计算农历日期。提供更多的祝福语:可以通过随机选择祝福语来增加趣味性。加入图形用户界面 (GUI):可以使用 tkinter 库来创建一个简单的图形用户界面。 我们可…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
