Rspack 插件
你可以按功能浏览下方所有已收录的 Rspack 插件。
如需了解如何使用插件,请参阅插件使用指南。
产物与资源
- BannerPlugin:在生成的 chunk 开头或结尾添加横幅内容。
- CopyRspackPlugin:将文件或目录复制到构建输出目录。
- CssExtractRspackPlugin:将 CSS 提取为独立文件,可替代
mini-css-extract-plugin。 - HtmlRspackPlugin:生成 HTML 文件并自动注入构建产物中的脚本和样式。
- SubresourceIntegrityPlugin:为构建产物生成完整性 hash,并将其添加到 HTML 和 chunk 加载标签中。
构建优化
- CompatHashedChunkIdsPlugin:为 chunk 分配紧凑且稳定的 hash id。
- CompatHashedModuleIdsPlugin:为模块分配紧凑且稳定的 hash id。
- CssChunkingPlugin:拆分 CSS,并保持必要的样式表加载顺序。
- DeterministicModuleIdsPlugin:为模块分配较短且在多次构建间保持稳定的数字 id。
- DllPlugin:生成预构建的 DLL bundle 及其 manifest。
- DllReferencePlugin:读取 DLL manifest,以复用预构建的依赖。
- LightningCssMinimizerRspackPlugin:使用 Lightning CSS 压缩 CSS 产物。
- LimitChunkCountPlugin:合并 chunk,将总数量限制在配置值以内。
- RuntimeChunkPlugin:控制 Rspack 生成 runtime chunk 的方式。
- SplitChunksPlugin:拆分共享或异步代码,以改善加载性能和缓存效果。
- SwcJsMinimizerRspackPlugin:使用 SWC 压缩 JavaScript 产物。
模块与依赖
- ContextReplacementPlugin:缩小或替换动态
require和import()上下文可访问的模块范围。 - DefinePlugin:在编译时将变量替换为常量值或表达式。
- EntryPlugin:在编译过程中添加入口模块和入口 chunk。
- EnvironmentPlugin:通过
DefinePlugin定义指定的process.env变量。 - ExternalsPlugin:将指定依赖排除在 bundle 之外,改由外部环境提供。
- IgnorePlugin:阻止匹配的
import或require请求生成模块。 - JavascriptModulesPlugin:处理 JavaScript 模块打包,并提供自定义渲染和 chunk hash 的编译钩子。
- ModuleFederationPlugin:在 Rspack 中启用 Module Federation 1.5。
- ModuleFederationPluginV1:提供与 webpack 兼容的 Module Federation 1.0 能力。
- NormalModuleReplacementPlugin:将匹配的模块请求替换为另一个资源。
- ProvidePlugin:使用配置的标识符时自动导入对应模块。
- TreeShakingSharedPlugin:对 Module Federation 共享依赖进行按需构建和导出优化。
- VirtualModulesPlugin:创建、更新和删除行为与真实文件一致的内存模块。
开发与调试
- CaseSensitivePlugin:检测模块引用与文件系统路径的大小写冲突并发出警告。
- CircularCheckRspackPlugin:报告模块图中发现的循环导入。
- EvalSourceMapDevToolPlugin:使用基于 eval 的映射精细控制 source map 生成。
- HotModuleReplacementPlugin:在开发过程中启用热模块替换。
- NoEmitOnErrorsPlugin:发生编译错误时阻止生成构建产物。
- ProgressPlugin:报告并自定义编译进度。
- SourceMapDevToolPlugin:精细控制 source map 的生成方式。
运行目标与运行时
- ElectronTargetPlugin:为 Electron 构建外置 Electron 内置模块。
- EnableChunkLoadingPlugin:启用指定的 chunk 加载类型及其所需的运行时模块。
- EnableLibraryPlugin:启用指定 library 类型的产物输出。
- EnableWasmLoadingPlugin:启用指定的 WebAssembly 加载类型及其所需的运行时模块。
- JsonpTemplatePlugin:为浏览器构建配置基于 JSONP 的 chunk 加载方式。
- NodeTargetPlugin:为 Node.js 构建外置 Node.js 内置模块。
- NodeTemplatePlugin:配置 Node.js 的 chunk 格式和加载方式。
- WebWorkerTemplatePlugin:配置 Web Worker 构建及基于
importScripts的 chunk 加载方式。
参考
- 内部使用的插件:汇总 Rspack 内部应用的底层插件,供自定义编译器开发和内部机制排查使用。
- webpack 内置插件支持情况:汇总 Rspack 对 webpack 内置插件的支持情况。
第三方插件可以参考 插件兼容性列表 和 awesome-rstack。
已弃用
- CircularDependencyRspackPlugin:检测循环依赖,现已弃用,请改用
CircularCheckRspackPlugin。

