当前位置: 首页 > 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,循环依赖处理方面,在编译解析时静态分析解决了循环依赖

http://www.xdnf.cn/news/677917.html

相关文章:

  • 6.4.5_关键路径
  • 窗口函数总结篇
  • -动静态库简单使用
  • ABC 352
  • 依赖倒置原则 (Dependency Inversion Principle, DIP)
  • 分块查找详解
  • 第二章 1.3 数据采集风险的现有技术和解决方案
  • RK3568 OH5.1 镜像烧录
  • python第34天打卡
  • 深耕数字化赛道,联众优车以创新风控体系构筑汽车金融护城河
  • Fine-tuning:微调技术,训练方式,LLaMA-Factory,ms-swift
  • AI智能分析网关V4垃圾桶满溢检测算法打造城市/公园/街道等场景应用方案
  • 浅谈Mysql的MVCC机制(RC与RR隔离级别)
  • LeetCode 1696. 跳跃游戏 VI(中等)
  • AI Agent开发第75课-数据、张量、流水线并行全解析
  • 【Web应用】若依:基础篇03-入门案例,若依代码生成器生成前后端代码
  • Web通信协议全景解析:从HTTP到WebService的技术演进与对比
  • 如何寻找大模型在企业业务中的价值?
  • Anaconda下载安装+配置虚拟环境保姆级教程(2025版)
  • 实时数仓flick+clickhouse启动命令
  • 第一个ASP.NET项目
  • 【Elasticsearch】retry_on_conflict
  • Python中while 1和while True有何区别?深入解析无限循环的写法选择
  • 百胜咨询公司:企业EcoVadis认证的专业导航者
  • SIGGRAPH 2025 | 快手可灵团队提出3D感知的电影级文本到视频生成框架CineMaster
  • 鸿蒙5开发宝藏案例分享---一多断点开发实践
  • 0527漏洞原理:SQL注入笔记 SQL注入类型(联合查询注入、报错注入实操)
  • 【本地部署】 Deepseek+Dify创建工作流
  • 【Vue 3 运行时 Diff 算法深度解析:五步走策略实现高效更新】
  • MySQL数据库第一章