当前位置: 首页 > 软件库 > 开发工具 > 项目构建 >

Rspack

基于 Rust 的高性能模块打包工具
授权协议 MIT
开发语言 JavaScript TypeScript Rust
所属分类 开发工具、 项目构建
软件类型 开源软件
地区 国产
投 递 者 印子平
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

特性

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

构建速度对比

  • 前言 rspack 即将开源,但社区中不乏有已经落地的 case ,比如 rspack-migration-showcase 、 modern.js 等。 基于此,本文将介绍如何迁移一个近似于 CRA( create-react-app ) 的项目到 rspack 。 在阅读本文前,我们认为读者已经熟练掌握了 webpack 配置,本文将略过所有前置知识。 注:由于 rspack 处于 0.0.x

 相关资料
  • rollup 是一款小巧的 javascript 模块打包工具,更适合于库应用的构建工具;可以将小块代码编译成大块复杂的代码,基于ES6 modules,自动进行 Tree-shaking,它可以让你的 bundle 最小化,有效减少文件请求大小。 全局安装 npm install --global rollup 命令行 //该命令编译 main.js 生成 bundle.js, --form

  • Rust有两个与模块 (module) 系统相关的独特术语:crate和module, 其中包装箱 (crate) 与其它语言中的 libary 或者 package 作用一样。 每个包装箱都有一个隐藏的根模块,在根模块下可以定义一个子模块树, 其路径采用::作为分隔符。包装箱由条目 (item) 构成,多个条目通过模块组织在一起。 定义模块 使用mod关键字定义我们的模块: // in src/

  • 【UI 模块性能】页面主要展示项目运行过程中 UI 模块的CPU占用情况,主要包括以下几个部分: 数据汇总 该项主要展示项目运行过程中的“CPU峰值”、“CPU均值”、“堆内存分配总值”和“堆内存均值”。其中,“CPU均值”和“堆内存分配均值”表示UI模块平均每帧的CPU占用和堆内存分配。 UI 模块总体耗时 & 耗时详情 UI 模块总体CPU耗时 主要展示项目运行过程中 UI 模块的整体耗时情况

  • 【加载模块性能】页面主要展示项目运行过程中引擎加载模块的具体使用情况,主要包括以下几个部分: GameObject数量 GameObject数量 主要展示项目运行过程中的GameObject的使用情况,让您快速看到项目运行过程中是否存在潜在的泄露问题。您可以通过与图表交互,查看每一场景、每一帧的具体GameObject使用情况。同时,当您选中图表的某一帧时,页面上的场景图片会随之联动,将离该帧最为

  • 【动画模块性能】页面主要展示项目运行过程中动画模块的CPU占用情况,主要包括以下几个部分: 数据汇总 该项主要展示项目运行过程中的 “动画片段数量峰值”、“Animator.Update CPU均值”、“Animation.Update CPU均值” 和 “蒙皮网格更新CPU均值”。 注意: Animation.Update 对应的是Unity 3.x 动画系统,Animator.Update 对

  • 【物理模块性能】页面主要展示项目运行过程中物理模块的CPU占用情况,主要包括以下几个部分: 数据汇总 该项主要展示项目运行过程中的 “CPU均值”、“Contacts数量峰值”、“静态碰撞体数量峰值” 和 “动态碰撞体数量峰值”。其中,“CPU均值” 是指物理引擎(Physics.Simulate)每帧的平均CPU耗时。 Physics.Simulate 该项主要展示项目运行过程中物理模块的具体耗