通过示例,从零讲清 JavaScript、TypeScript、ESM、IIFE 与 npm 的区别,理解普通 script 和模块脚本的加载方式、window 全局对象与作用域的关系。结合可运行代码,演示普通脚本与 ESM 如何混合使用,以及同一套源码如何提供不同的接入方式。