今天发现 Rsdoctor 发布了 1.2 版本预览版本,带来很多功能外还支持 Webapck,所以我们今天来看看更新哪些内容吧!
本次更新通过深入的拼接模块分析、Gzip 压缩大小支持和优化的 Treemap 可视化,帮助开发者更准确地了解构建产物,优化代码分割策略。此外,Rsdoctor MCP 引入了基于 LLM 的智能 Q&A 功能,
以下是 Rsdoctor 1.2 的核心更新和功能的详细介绍。
在 Rspack 构建过程中,部分模块会被提升或聚合为单一闭包,形成拼接模块(concatenated modules),以提高浏览器执行效率并减小产物体积。然而,此前 Rsdoctor 无法深入分析这些模块的内部结构,因为它们无法通过 AST 解析进一步拆分。
Rsdoctor 1.2 新增了对拼接模块大小的分析功能,开发者可以:
对于 Rspack (>=1.4.11) 项目,Rsdoctor 插件增强了 source map 能力,无需显式启用即可分析拼接模块。Webpack 项目则仍需启用 source map。
示例:
// rspack.config.js
const { RsdoctorRspackPlugin } = require('@rsdoctor/rspack-plugin');
module.exports = {
plugins: [
process.env.RSDOCTOR && new RsdoctorRspackPlugin({
// 启用拼接模块分析
}),
].filter(Boolean),
};
为了更准确地反映生产环境的资源体积,Rsdoctor 1.2 新增了 Gzip 压缩大小分析功能。开发者可以在 Bundle Size 页面和 Treemap 页面查看:
gzip
Treemap 是开发者分析 bundle 组成的核心工具,但此前 Rsdoctor 的 Treemap 视图基于 webpack-bundle-analyzer,分析效率较低,页面加载速度慢。
Treemap
Rsdoctor 1.2 推出了全新的经典 Treemap 视图,带来以下改进:
开发者可以通过 Treemap 视图快速识别资源分布,优化项目结构。
Rsdoctor 1.2 延续了 1.1 版本引入的 MCP(Model Context Protocol)支持,通过 LLM 提供智能化的构建分析。开发者可以通过自然语言提问快速获取分析结果,例如:
Rsdoctor MCP 结合了 Rsdoctor 的分析能力和 LLM 的智能理解,支持以下核心功能:
npm install @rsdoctor/rspack-plugin@1.2 -D
在 rspack.config.js
或 webpack.config.js
中注册 Rsdoctor 插件:
const { RsdoctorRspackPlugin } = require('@rsdoctor/rspack-plugin');
module.exports = {
plugins: [
process.env.RSDOCTOR && new RsdoctorRspackPlugin({
// 插件配置
}),
].filter(Boolean),
};
运行构建命令
RSDOCTOR=true npm run build
今天的分享就这些了,感谢大家的阅读!如果文章中存在错误的地方欢迎指正!