【问题标题】:Preact build size is too largePreact 构建大小太大
【发布时间】:2021-11-08 09:26:25
【问题描述】:

我正在使用 preact,按照文档,我使用命令 npx preact-cli create default my-project 来设置项目。建议 preact 项目伴随着小尺寸,所以我决定测试它并立即尝试 npm run build 而不更改样板。结果显示700kb 文件夹的大小略大于build。我已经读到它应该在30 to 50 kb 附近。对于项目,我需要达到这个大小,因为选择 preact 是因为它的大小很小。

【问题讨论】:

    标签: reactjs preact


    【解决方案1】:

    捆绑包的大小不是通过输出目录的原始大小来衡量的。

    首先,输出目录包含不用于讨论包大小的内容。提供了图像、SSR 中间输出(与预渲染的实际结果分开)和非 ESM 环境的半复制输出等项目。这些都不会影响您的捆绑包大小。

    其次,您忽略了路线拆分。 routes/ 中的每个组件都会自动拆分出来,因此用户只有在导航到它们时才能获得每条路线。假设您有//about/error。请求/ 时,不会将/about/error 的内容发送给客户端。您可以拥有数百页内容,但这并不意味着它们会一次全部加载。

    第三,磁盘上该目录的大小没有被压缩,这与网络服务器输出不同。 Gzip 和 Brotli 非常擅长它们的工作,并将进一步减小大小。

    Preact-CLI 有一个选项可以在您的构建中打开包分析器 (preact build --analyze)。否则,请运行我们随附的类似生产的服务器并打开您的浏览器。您可以像客户端一样查看捆绑包(减去压缩)。

    【讨论】:

    • 好的,谢谢。在我的情况下,我们试图从本地服务器而不是在网络上提供它,并且由于设备的内存是有限的,因此我们的目标是磁盘大小。感谢您的回答。
    • sirv-clipreact-cli 附带的类似 prod 服务的工具)没有动态压缩功能,但可以提供预压缩文件。如果您愿意,您可以使用 brotli 或 gzip 压缩整个输出目录并以这种方式提供服务。磁盘上的大小应该仍然与内存无关,至少在我们谈论的规模上是这样。
    猜你喜欢
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多