You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Preact宣传仅3KB但npm包解压大小超过1MB?

Preact不同场景下体积数值差异原因说明

你看到的多组数值差异本质是统计口径完全不同,具体对应关系如下:

1. npm包解压体积不代表生产运行体积

  • npm包内除了核心运行时代码,还包含了TS类型定义、多模块化规范(ESModule/UMD/CommonJS)的多份构建产物、调试工具、测试用例、开发辅助脚本等大量不会被打包进生产项目的内容,你看到的1.26MB是整个npm包的全量文件大小,没有实际参考意义。
  • React的npm包解压体积更小,是因为它把DOM渲染、事件处理等核心逻辑拆分到了react-dom依赖包中,实际生产项目需要同时引入react+react-dom才能正常运行,两者打包后的总体积远大于Preact单包的运行时体积。

2. 官方宣传的3KB的统计标准

  • 这个数值是仅统计Preact最小核心运行时、经过代码混淆压缩(minify)+gzip压缩后的体积,对应的是不含额外兼容模块的最小核心版本,没有包含preact/compat等React兼容层代码。
  • 你查到的16KB minified、4KB gzip的数值,是包含了hooks、fragment、context等完整常用特性的全功能Preact版本,功能裁剪差异带来了1KB左右的gzip体积差。
  • 前端框架宣传时默认采用gzip后的体积是行业通用规则:虽然项目构建流程不会内置gzip,但几乎所有生产环境的Web服务器、CDN都会默认开启gzip传输压缩,这个数值对应终端用户真实加载时的传输体积,参考价值更高。

3. 常见口径对应体积参考

统计场景体积
npm包全量解压1.26MB
全功能Preact minify后未压缩~16KB
全功能Preact gzip压缩后~4KB
最小核心Preact gzip压缩后~3KB

内容的提问来源于stack exchange,提问作者crevulus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 21:45:09