Rust 前端打包工具 Rspack 1.3 发布:大幅优化内存


Rspack 1.3 已经正式发布!

Rspack (读音为 /'ɑrspæk/)是基于 Rust 语言开发的 Web 构建工具,拥有高性能、兼容 Webpack 生态、定制性强等多种优点。

特性

  • 启动速度极快: 基于 Rust 实现,构建速度极快,带给你极致的开发体验。
  • 闪电般的 HMR: 内置增量编译机制,HMR 速度极快,完全胜任大型项目的开发。
  • 兼容 webpack 生态: 针对 webpack 的架构和生态进行兼容,无需从头搭建生态。
  • 内置常见构建能力: 对 TypeScript、JSX、CSS、CSS Modules、Sass 等提供开箱即用的支持。
  • 默认生产优化: 默认内置多种优化策略,如 Tree Shaking、代码压缩等等。
  • 框架无关: 不和任何前端框架绑定,保证足够的灵活性。

新版本值得关注的变更如下:

  • 新功能

    • 循环引用检测

    • 构建 HTTP imports

    • Lazy compilation 改进

    • 支持 AMD 模块

  • 性能优化

    • 代码拆分提速 25%

    • 产物体积优化

    • 内存优化

  • Rstack 进展

    • Rsdoctor 1.0

    • Rsbuild 1.3

    • Rslib 0.6

    • Rspress 和 Rstest

  • 生态系统

    • Rspeedy for Lynx

    • Re.Pack 5

    • React Router v7 支持

  • 升级指南

    • 模块子类型变更

    • 升级 SWC 插件


内存优化

Rspack 现在在 macOS 上默认使用 mimalloc v3。这缓解了 macOS 在 rebuild 过程中的一些内存消耗问题。根据一些社区和内部项目的反馈,这将减少 rebuild 时的 RSS 使用量,具体减少的比例因项目大小而异,根据我们的测试,减少的比例从 10% 到 85% 不等

Rspack 1.3 还实现了清理过期缓存的内部机制 maxGenerations。这个参数控制了缓存的存活时间,Rspack 默认将这个值设置为 1,意味着如果特定缓存在下一轮编译中没有被使用,该缓存将会被清除。

详情查看发布公告:https://mp.weixin.qq.com/s/48dI4pcFSm6KPgXpHJvSSA


相關推薦

2023-03-12

字节跳动开源了一款采用 Rust 开发的前端模块打包工具:Rspack(读音为/'ɑrspæk/)。 据介绍,Rspack 是一个基于 Rust 的高性能构建引擎,具备与 Webpack 生态系统的互操作性,可以被 Webpack 项目低成本集成,并提供更好的构建性

2023-09-19

数据对象模拟数据库。但是没有数据持久化功能。也支持前端和后端双系统。其中前端项目和正常模式是完全一致的。不同的是后端项目。 Rust 通用代码生成器莲花尝鲜版十。此版本支持 DataDummy 模式,即纯内存数据模式的原型

2023-09-14

数据对象模拟数据库。但是没有数据持久化功能。也支持前端和后端双系统。其中前端项目和正常模式是完全一致的。不同的是后端项目。 Rust 通用代码生成器莲花尝鲜版十。此版本支持 DataDummy 模式,即纯内存数据模式的原型

2023-09-09

数据对象模拟数据库。但是没有数据持久化功能。也支持前端和后端双系统。其中前端项目和正常模式是完全一致的。不同的是后端项目。 Rust 通用代码生成器莲花尝鲜版十。此版本支持 DataDummy 模式,即纯内存数据模式的原型

2023-10-09

数据对象模拟数据库。但是没有数据持久化功能。也支持前端和后端双系统。其中前端项目和正常模式是完全一致的。不同的是后端项目。 红莲尝鲜版十支持枚举,即常量表,不可以修改,通过初始化数据构建,内存数据模式

2023-10-20

数据对象模拟数据库。但是没有数据持久化功能。也支持前端和后端双系统。其中前端项目和正常模式是完全一致的。不同的是后端项目。 红莲尝鲜版十支持枚举,即常量表,不可以修改,通过初始化数据构建,内存数据模式

2023-11-09

口点和最低限度的其他程序,其他模块都放在 lib.rs 里,前端代码生成器的默认图片位置改到 static 目录下,方便 vue 前端的构建。请部署在 Tomcat9 的 webapps 目录下。 代码生成器的项目地址:https://gitee.com/jerryshensjf/Lotus 二进制 w

2023-11-16

口点和最低限度的其他程序,其他模块都放在 lib.rs 里,前端代码生成器的默认图片位置改到 static 目录下,方便 vue 前端的构建。 代码生成器的项目地址:https://gitee.com/jerryshensjf/Lotus 二进制 war 包的下载地址: https://gitee.com

2023-05-04

Pake 已发布 2.0 正式版本,这是一款用 Rust 打包网页生成轻量级桌面 App 的工具。 更新日志 使用体验上:支持窗口位置大小记忆、文件下载、谷歌苹果外跳免登、超链接跳转优化、菜单栏里面支持打开任意地址跳转。 命

2023-11-19

口点和最低限度的其他程序,其他模块都放在 lib.rs 里,前端代码生成器的默认图片位置改到 static 目录下,方便 vue 前端的构建。 代码生成器的项目地址:https://gitee.com/jerryshensjf/Lotus 二进制 war 包的下载地址: https://gitee.com

2023-12-01

口点和最低限度的其他程序,其他模块都放在 lib.rs 里,前端代码生成器的默认图片位置改到 static 目录下,方便 vue 前端的构建。 代码生成器的项目地址:https://gitee.com/jerryshensjf/Lotus 二进制 war 包的下载地址: https://gitee.com

2024-10-14

使用 Tauri 需要同时使用 Rust 和 JavaScript(分别用于后端和前端)。 结论:如果你已经熟练掌握 Rust 或计划投入使用,而且交付成果的大小和内存占用也很重要,那么 Tauri 就是最好的选择。如果你已经非常熟悉 JavaScript,尤其是

2022-12-06

过去几年/几个 Android 系统版本中,内存安全漏洞的数量大幅下降"。 具体而言,2019 年至 2022 年期间,每年的内存安全漏洞数量从最初的 223 个下降到如今的 85 个。内存安全漏洞现在在 Android 系统总漏洞的占比也只有 35%,四年

2023-11-13

Slint(最初称为 "SixtyFPS")是一个 Rust 编写的综合性 UI 工具包,用于为桌面和嵌入式设备构建原生用户界面。 近日,Slint 发布了 1.3 版本,引入许多增强开发体验的新功能和改进。 下载地址:https://github.com/slint-ui/slint/releases/