React 19 + Vite 6 配置external排除React后构建产物体积未大幅缩减的问题求助
React 19 + Vite 6 配置external排除React后构建产物体积未大幅缩减的问题求助
大家好,我最近用create-vite搭了个极简的React+Vite项目,用的是React 19和Vite 6版本,遇到了一个很费解的问题,想请教下各位大佬有没有思路。
先给大家列一下我的测试数据和操作细节:
- 未配置external时:构建产物
dist/assets/index-9_sxcfan.js体积是188.05 kB,gzip压缩后59.21 kB - 配置
build.rollupOptions.external: ['react', 'react-dom']后:产物体积只降到了176.12 kB,gzip后55.83 kB,几乎没变化。我用npx vite-bundle-visualizer分析了下,发现React代码居然还是占了bundle的90%以上!
为了验证不是我配置的问题,我特意降级到React 18做了对比测试,结果完全符合预期:
- 未配置external:产物144.35 kB,gzip后46.39 kB
- 配置
external: ['react', 'react-dom']后:产物直接降到2.67 kB,gzip后1.34 kB,React代码完全被排除出bundle了
我知道React 19本身比v18体积大,而且有不少重大更新,但这种配置了external却完全没起到排除效果的情况,实在是超出预期。有没有大佬能帮忙解释下这是为什么,或者有没有什么可行的 workaround 呢?
内容来源于stack exchange
相关产品推荐
相关产品推荐

