web-infra-dev/rspack

GitHub: web-infra-dev/rspack

基于 Rust 的高性能 JavaScript 打包工具,兼容 webpack 生态,解决大型前端项目构建慢的问题。

Stars: 12526 | Forks: 768

Rspack Banner # Rspack

discord channel npm version crates version downloads node version license codspeed

English | [简体中文](./README.zh-CN.md) Rspack 是一个由 Rust 编写的高性能 JavaScript 打包工具。它提供了与 webpack 生态系统的强大兼容性,允许无缝替换 webpack,并提供了闪电般的构建速度。 ## ✨ 特性 - 🚀 **极速启动**:基于 Rust,构建速度极快,为您带来极致的开发体验。 - ⚡ **闪电般 HMR**:内置增量编译机制,HMR 速度极快,完全能够应对大规模项目的开发。 - 📦 **Webpack 兼容**:兼容 webpack 生态系统中的插件和 loader,无缝整合社区构建的优秀库。 - 🎨 **Module Federation**:提供一流的 Module Federation 支持,以便利大规模 Web 应用的开发。 - 🛠️ **生产优化**:默认内置了各种优化策略,例如 tree shaking、代码压缩等。 - 🎯 **框架无关**:不绑定任何前端框架,确保足够的灵活性。 阅读[介绍](https://rspack.rs/guide/start/introduction)了解详情。 ## 🦀 Rstack Rstack 是一个以 Rspack 为中心的统一 JavaScript 工具链,具有高性能和一致的架构。 | 名称 | 描述 | 版本 | | ----------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Rspack](https://github.com/web-infra-dev/rspack) | 打包工具 | npm version | | [Rsbuild](https://github.com/web-infra-dev/rsbuild) | 构建工具 | npm version | | [Rslib](https://github.com/web-infra-dev/rslib) | 库开发工具 | npm version | | [Rspress](https://github.com/web-infra-dev/rspress) | 静态站点生成器 | npm version | | [Rsdoctor](https://github.com/web-infra-dev/rsdoctor) | 构建分析器 | npm version | | [Rstest](https://github.com/web-infra-dev/rstest) | 测试框架 | npm version | | [Rslint](https://github.com/web-infra-dev/rslint) | Linter | npm version | ## 快速开始

Open in StackBlitz

参见[快速开始](https://rspack.rs/guide/start/quick-start)。 ### 行为准则 本仓库采纳了字节跳动开源行为准则。请查看[行为准则](./CODE_OF_CONDUCT.md)了解更多详情。 ## 链接 | 名称 | 描述 | | ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- | | [awesome-rstack](https://github.com/rstackjs/awesome-rstack) | Rstack 相关的精选资源列表 | | [agent-skills](https://github.com/rstackjs/agent-skills) | Rstack Agent Skills 集合 | | [Rspack 2.x 文档](https://v2.rspack.rs/) | Rspack 2.x 文档 (beta) | | [Rspack 1.x 文档](https://rspack.rs/) | Rspack 1.x 文档 (latest) | | [Rspack 0.x 文档](https://v0.rspack.rs/) | Rspack 0.x 版本文档 | | [rspack-dev-server](https://github.com/web-infra-dev/rspack-dev-server) | Rspack 开发服务器 | | [rstack-examples](https://github.com/rstackjs/rstack-examples) | Rstack 示例展示 | | [rspack-sources](https://github.com/rstackjs/rspack-sources) | [webpack-sources](https://www.npmjs.com/package/webpack-sources) 的 Rust 移植版 | | [rstack-design-resources](https://github.com/rstackjs/rstack-design-resources) | Rstack 设计资源 | ## 基准测试 参见[基准测试](https://ecosystem-benchmark.rspack.rs/)。 ## 致谢 感谢: - [webpack 团队和社区](https://webpack.js.org/) 创建了伟大的打包工具和生态系统,我们从中汲取了大量灵感。 - [@sokra](https://github.com/sokra) 在 [webpack](https://github.com/webpack/webpack) 项目上的杰出工作。 - [@ScriptedAlchemy](https://github.com/ScriptedAlchemy) 创建了 Module Federation 并帮助 Rspack 与社区建立联系。 - 由 [@kdy1](https://github.com/kdy1) 创建的 [SWC](https://github.com/swc-project/swc) 项目,它为 Rspack 的代码解析、转换和压缩提供支持。 - 由 [@evanw](https://github.com/evanw) 创建的 [esbuild](https://github.com/evanw/esbuild) 项目,它启发了 Rspack 的并发架构。 - 由 [@Brooooooklyn](https://github.com/Brooooooklyn) 创建的 [NAPI-RS](https://github.com/napi-rs/napi-rs) 项目,它为 Rspack 的 Node 绑定实现提供支持。 - 由 [@devongovett](https://github.com/devongovett) 创建的 [Parcel](https://github.com/parcel-bundler/parcel) 项目,它是 Rust 打包工具的先驱,并启发了 Rspack 的增量重建设计。 - 由 [Evan You](https://github.com/yyx990803) 创建的 [Vite](https://github.com/vitejs/vite) 项目,它启发了 Rspack 对 webpack 生态系统的兼容性设计。 - 由旧 Rolldown 团队创建的 `rolldown-legacy` 项目,它是 [rolldown](https://github.com/rolldown) 项目的前身,探索了在 Rust 中制作具有 Rollup 兼容 API 的高性能打包工具的可能性。它启发了 Rspack 的设计原则。 - 由 [@jantimon](https://github.com/jantimon) 创建的 [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) 项目,`@rspack/html-plugin` 是 [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) 的一个分支,旨在避免 Rspack 不支持某些 webpack API 的使用。 - [Turbopack](https://github.com/vercel/turbo) 项目,启发了 Rspack 的 AST 路径逻辑。 - 由 [@pmmmwh](https://github.com/pmmmwh) 创建的 [react-refresh-webpack-plugin](https://github.com/pmmmwh/react-refresh-webpack-plugin),启发了 [react refresh rspack plugin](https://github.com/rstackjs/rspack-plugin-react-refresh) 的实现。 - 由 [@Jovi De Croock](https://github.com/JoviDeCroock) 创建的 [prefresh](https://github.com/preactjs/prefresh),启发了 [preact refresh rspack plugin](https://github.com/rstackjs/rspack-plugin-preact-refresh) 的实现。 - 由 [@sokra](https://github.com/sokra) 创建的 [mini-css-extract-plugin](https://github.com/webpack/mini-css-extract-plugin) 项目,启发了 CSS 提取插件的实现。 - 由 [@kevlened](https://github.com/kevlened) 创建的 [copy-webpack-plugin](https://github.com/webpack/copy-webpack-plugin) 项目,启发了 copy rspack plugin 的实现。 - 由 [@jscheid](https://github.com/jscheid) 创建的 [webpack-subresource-integrity](https://github.com/waysact/webpack-subresource-integrity) 项目,启发了 subresource integrity rspack plugin 的实现。 - 由 [@aackerman](https://github.com/aackerman) 创建的 [circular-dependency-plugin](https://github.com/aackerman/circular-dependency-plugin) 项目,启发了 circular dependency rspack plugin 的实现。 - 由 [thoren-d](https://github.com/thoren-d) 创建的 [tracing-chrome](https://github.com/thoren-d/tracing-chrome) 项目,启发了 Rspack 追踪功能的实现。 ## 许可证 Rspack 基于 [MIT 许可证](https://github.com/web-infra-dev/rspack/blob/main/LICENSE)授权。
标签:DNS解析, GNU通用公共许可证, HMR, JavaScript 打包器, MITM代理, Node.js, NPM 包, Rspack, Rust, SWC, Webpack 替代品, Web 开发, 前端工程化, 可视化界面, 增量编译, 开发效率, 开源项目, 数据可视化, 模块打包, 现代前端, 网络可观测性, 网络流量审计, 通知系统, 通知系统