
2025-04-20 日报 Day162

今日的鸡汤
本应是照亮生活的“灯塔”,却变成时刻检验生活态度的炽光灯。
今日学习内容
1、JS 红皮书 P782-782 第二十六章:模块
今日笔记
1、通用模块定义: 为了统一 CommonJS 和 AMD 生态系统,通用模块定义(UMD,Universal Module Definition)规范应运而生。UMD 可用于创建这两个系统都可以使用的模块代码。本质上,UMD 定义的模块会在启动时检测要使用哪个模块系统,然后进行适当配置,并把所有逻辑包装在一个立即调用的函数表达式(IIFE)中。虽然这种组合并不完美,但在很多场景下足以实现两个生态的共存。
下面是只包含一个依赖的 UMD 模块定义的示例:
1 | (function (root, factory) { |
此模式有支持严格 CommonJS 和浏览器全局上下文的变体。不应该期望手写这个包装函数,它应该由构建工具自动生成。开发者只需专注于模块的内由容,而不必关心这些样板代码。