当前位置: 首页 > news >正文

Common JS和ES Module的区别

CommonJS 和 ES Module(ECMAScript Modules)是 JavaScript 中两种主流的模块化方案;

从语法,加载机制,运行时差异等方面去讲;

一:Common JS

1,require导入,module.exports导出,

2,支持动态导入require()可在代码任意位置,是同步加载(运行时加载)

例如图片的导入

3,执行机制是代码运行时按需加载,主要用于Node.js

4,导出的是值的拷贝,导出后与原模块解耦。

5,循环依赖处理方面:因为是同步加载,导致可能加载到未完全初始化的模块

二:ES Module

1,import导入,export导出

2,支持动态导入import()方法,返回的是Promise

3,静态加载,编译时解析依赖,解析时确认依赖关系

4,支持Tree Shaking(树摇),利用打包工具优化未使用的代码

5,导出的是值的引用,修改原模块会同步到导入处

6,循环依赖处理方面,在编译解析时静态分析解决了循环依赖

相关文章:

  • 《OpenFeign 最佳实践:三大优雅调用远程服务的方式》​
  • mysql explain使用
  • 基于springboot的校园商铺管理系统的设计与实现
  • HikariCP连接池使用和源码分析
  • NB-IoT NPUSCH(三)-资源映射
  • 一种C# 的SM4 的 加解密的实现,一般用于医疗或者支付
  • 多线程(1)
  • ODSA架构与操作-1
  • 2025最新Gemini 2.5 Pro API限制全面解析:最完整的使用指南与优化方案
  • 做好测试用例设计工作的关键是什么?
  • 仓颉入门:特性
  • 嵌入式自学第二十九天(5.27)
  • DFS入门刷题c++
  • AI 智能体的那些事—架构设计关键点
  • 数据库管理与高可用-MySQL数据库初体验
  • Java 内存模型与 volatile 关键字深度解析:从可见性到指令重排
  • 【键盘说明书备份】ENERGYFORT
  • 什么是舵机,如何控制舵机
  • LVGL(Grid)
  • 用Qt/C++玩转观察者模式:一个会聊天的设计模式
  • 网站 建设 流行 数据库/seo诊断工具网站
  • 学校开发网站公司/seo优化网页
  • 邢台哪里有做网站的/关键词快速排名平台
  • 班级网站主页设计模板/数字营销平台有哪些
  • 武汉高端企业网站建设/免费男女打扑克的软件
  • 网站设计风格方案/2023第三波疫情已经到来了