@aklinker1/rollup-plugin-visualizer

中文文档
5.12.0发布于 2024/02/24MITTypeScriptCommonJS近 30 天下载 298万
中文使用文档
文档目录16 节
  1. 截图
  2. 安装
  3. 使用量
  4. 如何使用生成的文件
  5. 太阳爆发
  6. 树图
  7. 网络
  8. 原始数据
  9. 列表
  10. 选项
  11. 高级选项( 只有在您真的需要时才会触摸) :
  12. 国 际
  13. 构建插件
  14. 关于生成文件的免责声明
  15. 升级
  16. 版本

滚动插件可视化器

NPM Version Node.js CI

可视化分析您的滚滚捆,看看哪些模块占据了空间.

截图

pic

安装

npm install --save-dev rollup-plugin-visualizer

或通过纱线:

yarn add --dev rollup-plugin-visualizer

使用量

导入

// es
import { visualizer } from "rollup-plugin-visualizer";
// or
// cjs
const { visualizer } = require("rollup-plugin-visualizer");

采用卷起式(rollup.config.js)

module.exports = {
  plugins: [
    // put it the last one
    visualizer(),
  ],
};

使用 vite (vite.config.js) 的词源

module.exports = {
  plugins: [visualizer()],
};

使用 Vite 类型脚本( vite. config.ts)

import { defineConfig, type PluginOption } from 'vite'
export default defineConfig({
  plugins: [visualizer() as PluginOption],
})

与 SvelteKit (vite.config.js) 的用法

const config = {
  plugins: [
    visualizer({
      emitFile: true,
      filename: "stats.html",
    }),
  ],
};

export default config;

您将在 . svelte- kit/ output dir 中找到2/3 文件, 命名为 stats.html( 文件位置请参见 vite 日志) 。 您可以使用这个片段作为起点并更改道具/路径. 也可以生成出3个json文件,并把它们与cli util合并为一.

如何使用生成的文件

用于标记项目所有文件的蓝色颜色 。 这可能是: 由您编写文件或由构建工具文件生成 .

绿色用来标记你的依赖.

内部它只是检查文件 id 前缀是否 node_modules。 。 。 .

所有图表在窗口调整大小时刷新布局 .

太阳爆发

这个圆形分层图可以帮助你找到巨大的代码(一个巨大的东西). 如果你点击一些弧,它会增加它的和所有嵌入弧的大小,以便更好地检查.

树图

这个长方形分级图可以帮助您找到巨大的块. 只是看看最大的反转。 但也可以帮助您找到包含多次的模块,它们具有相同的地貌和相对大小. 点击后会增加体积以供进一步检查.

网络

这个字节应该可以帮助您回答“为什么包括这个字节?” 武力布局稳定了所有节点后,可以通过拖动鼠标来前后移动. 灰色的圆圈被树 关闭文件.

在现实生活中,有时你会看到非常相连的图表。 没有百分之百的解决方案可以让每个人使用, 要使它仍然具有可视性,首先去除所看到的所有高度连接的节点(典型的例子:commonjshelpers,tslib, react等),基本上如果节点的工具提示没有被屏幕所持有——排除这个节点),在布局稳定后,你会看到,你的布局不再是那么可怕了,大多数依赖集群在一起. 移动布局以找到您寻找的棋子 .

当点击节点时, 它将会在工具提示( 导入当前节点的文件) 中列出高亮节点 .

原始数据

本模板以原始数据生成JSON输出. 通常应该从此插件中与 CLI 一起使用 .

列表

输出所有数据的 yml 文件, 可能是一个好主意 .

选项

filename (字符串,默认) stats.{ext depending template}) - 带有图生成的文件名称

title (字符串,默认) Rollup Visualizer) - 标题标签值

open (布尔,默认) false) - 在默认用户代理中打开生成的文件

template (字符串,默认) treemap) - 要使用的图类型: sunburst, (中文(简体) ), treemap, (中文(简体) ), network, (中文(简体) ), raw-data, (中文(简体) ), list。 。 。 .

gzipSize (布尔,默认) false) - 从源代码中收集gzip大小,并在图表中显示.

brotliSize (布尔,默认) false) - 从源代码中收集溴化物大小,并在图表中显示.

高级选项( 只有在您真的需要时才会触摸) :

emitFile (布尔,默认) false- 使用卷轴 emitFile 生成文件。 如果您想要在一个地方控制所有输出( 通过滚动输出选项) , 则有用 。 这对丝绒也是有用的,因为它多次叫"花生".

sourcemap (布尔,默认) false) - 使用源图来计算大小(例如UglifyJs或Terser后). 总是将插件添加为最后一个选项 .

projectRoot (字符串 \\ regExp,默认) process.cwd()) - 这是您文件的一些常见的根路径 。 用于切出绝对文件路径 .

include (Filter QQ过滤器[],默认) undefined) - 包含过滤器

exclude (Filter QQ过滤器[],默认) undefined- 排除过滤器

Filter 类型是 { bundle?: picomatchPattern, file?: picomatchPattern }

说明 include 财务报告和审定财务报表 exclude - 如果可以的话 包含被省略或有零长度,过滤器默认会返回真。 否则,一个ID必须匹配一个或多个比克图案,并且不得匹配任何选项. 排除规律。 此条目将完全不包含在统计数据中 .

包含和排除

包含并排除过滤器使用有比克的光标匹配器. 在UI中,您可以进行这种组合(同时排除和包括):

  • 在一个字符串中过滤捆绑和文件
    • translation-*.js:*/**/index.js - 选择匹配的所有捆绑 translation-*.js 和所有路径的所有文件名称 index.js。 。 。 . : 是分隔符,仅在使用捆绑搜索时才需要.
    • 这类过滤器的格式是 BUNDLE_GLOB:FILE_GLOB
  • 在一个字符串中过滤捆绑
    • 这是捆绑+文件过滤器的特例, 您需要省略 FILE_GLOB 部件( 空字符串)
  • 在一个字符串中过滤文件
    • 这是 DEFAULT 搜索选项
    • */**/index.js - 选择所有名为索引.js的文件

国 际

此插件提供了 cli util rollup-plugin-visualizer添加 --help 以检查实际选项。 可以使用如下:

rollup-plugin-visualizer [OPTIONS] stat1.json stat2.json ../stat3.json

如果您在同一工程中拥有不同的配置文件, 并且您想要在同一个图表中显示所有配置文件, 这将会有用 .

构建插件

对于开发, 如果您需要构建插件, 只需执行 :

npm run build

关于生成文件的免责声明

生成的 html 文件不会也永远不会包含您的源代码( 文件的内容) 。 它们只能包含构建图表(plugin代码)所需的js/html/css代码和关于您源代码的统计资料.

这种统计资料可包括:

  • 捆绑中包含的文件大小
  • 源地图中包含的文件大小
  • 文件的路径
  • 文件等级( 文件的fs树)

升级

见Changelog.md.

版本

  • 插件后端( 一个在配置中出现) 严格遵循 SemVer
  • 插件前端( 生成的文件) :
    • network, (中文(简体) ), treemap, (中文(简体) ), sunburst 可更改的版本无关紧要(颜色、文本、视觉结构等)
    • raw-data 格式遵循自己的 version 属性
    • list 随取出

版本与发布记录

@aklinker1/rollup-plugin-visualizer 共发布 1 个版本,首次发布于 2024/02/24;过去 12 个月发布了 0 个版本。

版本发布日期距今
5.12.0latest2024/02/242 年前

关于 @aklinker1/rollup-plugin-visualizer 的常见问题

@aklinker1/rollup-plugin-visualizer 是什么?

[[(]https://github.com/btd (中文(简体) )

如何安装 @aklinker1/rollup-plugin-visualizer?

在项目目录运行 npm install @aklinker1/rollup-plugin-visualizer,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 rollup-plugin-visualizer,可以用 npx rollup-plugin-visualizer 直接运行。

@aklinker1/rollup-plugin-visualizer 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@aklinker1/rollup-plugin-visualizer 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@aklinker1/rollup-plugin-visualizer 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@aklinker1/rollup-plugin-visualizer 可以商用吗?

@aklinker1/rollup-plugin-visualizer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@aklinker1/rollup-plugin-visualizer 的下载量有多少?

根据 npm 官方下载统计,@aklinker1/rollup-plugin-visualizer 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,980,464 次,日均约 99,349 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@aklinker1/rollup-plugin-visualizer 还在维护吗?

最新版本 5.12.0 发布于 2024/02/24(2 年前);至今共发布 1 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/02/24。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。