前端 模块化的深入理解及其特性

本文探讨了模块化编程的重要性,包括可复用性、独立性和中心化等特性,并介绍了CommonJs、AMD、CMD和UMD规范。重点关注AMD和CMD的区别,以及treeshaking在优化JavaScript代码体积中的作用。此外,讨论了exportdefault的限制及其在treeshaking中的影响。

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

  1. 模块是概念?
    遵循确定的规范(规则)将其文件中的内容拆分到几个互相独立的文件。
  2. 特性:
    (1)可复用性
    (2)可组合性
    (3)中心化
    (4)独立性
  3. 模块化规范标准类型
    CommonJs 同步加载模块
    AMD 异步加载模块 require.js
    CMD 整合CommonJs和 AMD sea.js
    UMD 整合CommonJs和 AMD
    (核心思想):利用立即执行函数根据环境来判断需要的参数类型
  4. AMD和CMD的两个主要区别
    (1)AMD 异步加载模块;CMD可以通过同步方式,也可以通过异步方式
    (2)CMD 遵循依赖就近原则;AMD遵循依赖前置原则
  5. tree shaking
    作用:
    减少应用中的没有被实际运用的javascript代码,对无用代码进行清除,从而得到更小的代码体积
  6. ES 中的export和export defaulf
    注意:尽量减少export defaulf的使用,原因如下:
    (1)export defaulf会导出整体对象结果,不利于tree shaking分析
    (2)export defaulf导出的结果可以随意命名变量,不利于管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值