🚀🚀🚀 Webpack 项目也可以引入大模型问答了!感谢 Rsdoctor 1.2 !

前言

今天发现 Rsdoctor 发布了 1.2 版本预览版本,带来很多功能外还支持 Webapck,所以我们今天来看看更新哪些内容吧!

往期精彩推荐

正文

本次更新通过深入的拼接模块分析、Gzip 压缩大小支持和优化的 Treemap 可视化,帮助开发者更准确地了解构建产物,优化代码分割策略。此外,Rsdoctor MCP 引入了基于 LLM 的智能 Q&A 功能,

以下是 Rsdoctor 1.2 的核心更新和功能的详细介绍。

1. 深入的拼接模块分析

在 Rspack 构建过程中,部分模块会被提升或聚合为单一闭包,形成拼接模块(concatenated modules),以提高浏览器执行效率并减小产物体积。然而,此前 Rsdoctor 无法深入分析这些模块的内部结构,因为它们无法通过 AST 解析进一步拆分。

Rsdoctor 1.2 新增了对拼接模块大小的分析功能,开发者可以:

  • 精准分析子模块:了解 tree shaking 和压缩后子模块的真实构建大小。
  • 优化代码分割:通过分析拼接模块对最终 bundle 大小的影响,优化分包策略。

对于 Rspack (>=1.4.11) 项目,Rsdoctor 插件增强了 source map 能力,无需显式启用即可分析拼接模块。Webpack 项目则仍需启用 source map。

示例

javascript 复制代码
// rspack.config.js
const { RsdoctorRspackPlugin } = require('@rsdoctor/rspack-plugin');

module.exports = {
  plugins: [
    process.env.RSDOCTOR && new RsdoctorRspackPlugin({
      // 启用拼接模块分析
    }),
  ].filter(Boolean),
};

2. Gzip 压缩大小支持

为了更准确地反映生产环境的资源体积,Rsdoctor 1.2 新增了 Gzip 压缩大小分析功能。开发者可以在 Bundle Size 页面和 Treemap 页面查看:

  • 原始大小与 Gzip 压缩大小的对比。
  • 更精确的生产环境优化数据。

3. 优化的 Treemap 可视化

Treemap 是开发者分析 bundle 组成的核心工具,但此前 Rsdoctor 的 Treemap 视图基于 webpack-bundle-analyzer,分析效率较低,页面加载速度慢。

Rsdoctor 1.2 推出了全新的经典 Treemap 视图,带来以下改进:

  • 更快的加载速度:无需重复处理分析数据,提升整体效率。
  • 直观的可视化:更清晰地展示 bundle 组成、资源和模块比例。
  • 交互性增强:支持模块资源搜索和点击放大,方便定位特定模块。

开发者可以通过 Treemap 视图快速识别资源分布,优化项目结构。

4. Rsdoctor MCP:智能 Q&A 分析

Rsdoctor 1.2 延续了 1.1 版本引入的 MCP(Model Context Protocol)支持,通过 LLM 提供智能化的构建分析。开发者可以通过自然语言提问快速获取分析结果,例如:

  • "哪些包的体积最大?"
  • "为什么这个模块没有被 tree-shaken?"

Rsdoctor MCP 结合了 Rsdoctor 的分析能力和 LLM 的智能理解,支持以下核心功能:

  • 产物信息查询
  • 依赖关系分析
  • 优化建议生成
  • 编译性能分析
  • Tree shaking 分析

使用 Rsdoctor

bash 复制代码
npm install @rsdoctor/rspack-plugin@1.2 -D

rspack.config.jswebpack.config.js 中注册 Rsdoctor 插件:

javascript 复制代码
const { RsdoctorRspackPlugin } = require('@rsdoctor/rspack-plugin');

module.exports = {
  plugins: [
    process.env.RSDOCTOR && new RsdoctorRspackPlugin({
      // 插件配置
    }),
  ].filter(Boolean),
};

运行构建命令

bash 复制代码
RSDOCTOR=true npm run build

最后

今天的分享就这些了,感谢大家的阅读!如果文章中存在错误的地方欢迎指正!

往期精彩推荐

相关推荐
小飞侠在吗8 小时前
vue props
前端·javascript·vue.js
DsirNg9 小时前
页面栈溢出问题修复总结
前端·微信小程序
小徐_23339 小时前
uni-app 也能远程调试?使用 PageSpy 打开调试的新大门!
前端·微信小程序·uni-app
大怪v9 小时前
【Virtual World 03】上帝之手
前端·javascript
招来红月11 小时前
记录JS 实用API
javascript
别叫我->学废了->lol在线等11 小时前
演示 hasattr 和 ** 解包操作符
开发语言·前端·python
霍夫曼11 小时前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
DARLING Zero two♡11 小时前
浏览器里跑 AI 语音转写?Whisper Web + cpolar让本地服务跑遍全网
前端·人工智能·whisper
꒰ঌ小武໒꒱12 小时前
文件上传全维度知识体系:从基础原理到高级优化
javascript·node.js
Lovely Ruby12 小时前
前端er Go-Frame 的学习笔记:实现 to-do 功能(三),用 docker 封装成镜像,并且同时启动前后端数据库服务
前端·学习·golang