所有的地方都让人去用
https://esm.sh/react@18.2.0
https://esm.sh/react-dom@18.2.0/client
这些 CDN 。问题是不用 CDN 的话,自己怎么去把完整的 ESM build 出来呢?问了 AI 也找不到具体的官方步骤
举报· 1044 次点击
登录 注册 站外分享
9 条回复  
musi 初学 2025-4-14 15:40:54
https://legacy.reactjs.org/docs/how-to-contribute.html 文档里不是有么
Radeon 楼主 小成 2025-4-14 15:55:05
@musi 但是这是 build UMD 的方式,不是 ESM
Track13 小成 2025-4-14 16:00:00
那你把 cdn 上的文件存储到本地不就可以了。😅
Radeon 楼主 小成 2025-4-14 16:02:38
@Track13 不行呀。它那个文件只是一个 entry ,后面还要再动态拉取其他的文件的。具体拉多少文件是不知道的(根据你的代码实际调用情况)
Track13 小成 2025-4-14 16:15:46
@Radeon 🤫,好吧,esm 的 cdn 我还没有用过。都是老老实实的用 npm 。
songray 小成 2025-4-14 16:16:28
这个问题已经存在很多年了,不管是源码还是编译脚本没有考虑过 ESM ,要改的话至少需要几个人一起着手,不是 AI 能干的。 https://github.com/facebook/react/issues/11503 https://github.com/facebook/react/issues/10021 更关键的一点是,React 几乎所有子模块都是 internal ,没法进行摇树,所以提供 ESM 也没啥意义,你为什么不用 UMD 或者 CJS ?
Razio 初学 2025-4-14 16:19:34
@Radeon #4 有这劲拉一个完整的 react.esm.min.js 不行吗,就单独 react 来讲,动态 import 其他文件有什么性能优势吗
Radeon 楼主 小成 2025-4-14 16:28:58
@Razio 整个互联网上没有一个 self-contained, 完整的 react.esm.min.js 。我问过 Grok 了,Grok 确认没有。只有 UMD 版本的。Grok 也同意难以置信
Radeon 楼主 小成 2025-4-14 16:31:13
@songray 要用在浏览器里,所以不能用 CJS 。用 UMD 的话,会污染 globalThis 呀
返回顶部