为什么 npm 安装的 three 默认不是 UMD 版本

随笔 zhaosay 57℃

1. 为什么 npm 安装的 three 默认不是 UMD 版本?

npm 安装的 three.js 包,主要面向现代前端工程化开发(比如用 webpack、vite、rollup、ESM import 等),所以:

node_modules/three/build/three.module.js 和 three.module.min.js 是 ES Module 版本(只能用 import 方式加载,不能直接用 <script src=…>)。


three.js 源码和大部分 examples 也都是模块化写法。


npm 包里默认没有 UMD 版的 three.min.js,因为 UMD 主要是给“直接用 <script src=…>”的传统页面用的。

2. UMD 版本 three.min.js 从哪里来?

UMD 版本是 three.js 官方专门为“直接用 <script src=…>”的场景打包的,通常只在 CDN(如 jsdelivr、unpkg)上提供。


你可以在 three.js 的 GitHub release 页面、CDN 或 three.js 官网下载到 UMD 版本。


3. npm 包和 UMD 版本的区别

版本类型 适用场景 是否自动挂载 window.THREE

ES Module (module.js) 现代前端工程(import … from 'three') 否

UMD (three.min.js) 传统页面 <script src=…> 是

4. 你以后怎么选?

如果你用 npm + webpack/vite 等现代前端工具开发,用 import 方式加载 three.js。


如果你是传统 PHP/HTML 页面,直接 <script src=…>,就必须用 UMD 版本 three.min.js。


5. 总结

npm 安装的 three.js 主要是模块化(ESM)版本,不适合直接 <script src=…>。


你要用 UMD 版本 three.min.js,需手动下载或用 CDN。


你现在用 UMD 版本,window.THREE 就有了,特效就能正常显示!

转载请注明:三五二萌文网 » 为什么 npm 安装的 three 默认不是 UMD 版本

喜欢 (0)