# @botom/quill-resize-module 中文文档

规范地址：https://npmcn.com/package/%40botom/quill-resize-module/

版本：2\.2\.2
npm 元数据更新时间：2026-08-11T01:33:25.187Z
中文译文更新时间：2026-11-08T12:20:30.394Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40botom/quill-resize-module
原文对照：https://npmcn.com/package/%40botom/quill-resize-module/?lang=original
项目主页：https://github.com/BOTOOM/quill-resize-module#readme
源码仓库：https://github.com/BOTOOM/quill-resize-module

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：329 kB，16 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=14\.0\.0
- 运行依赖：0 个
- peer 依赖：quill ^2\.0\.0
- 首次发布：2021-12-02T15:59:39.719Z
- 最新版本发布：2026-08-11T01:33:25.016Z
- 近 30 天下载量：18706（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 4 个）

## 中文简介

现代,安全的Quill.js模块来调整图像大小,GIFs,视频,和iframes——触摸并剪接到修改大小,键盘可以访问,通过Quill Deltas持续缩小,上传钩子,以及0个已知的高强度弱点.

## 安装

```sh
npm install @botom/quill-resize-module
```

也可以使用：`pnpm add @botom/quill-resize-module`、`yarn add @botom/quill-resize-module`、`bun add @botom/quill-resize-module`

## README

# 奎尔调整模块大小

一个用于Quill丰富文本编辑器的现代,安全的模块,可以使您调整图像,视频,和iframe的大小,并具有全面的安全更新和增强功能.

![npm version](https://img.shields.io/npm/v/@botom/quill-resize-module) ![GitHub license](https://img.shields.io/github/license/BOTOOM/quill-resize-module) ![GitHub stars](https://img.shields.io/github/stars/BOTOOM/quill-resize-module) ![Security](https://img.shields.io/github/security-advisories/BOTOOM/quill-resize-module)

## \* 特性

-   🖼️ **图像和 GIF 调整大小** - 修改图像大小和带有拖柄的动画GIF
-   🎥 **视频调整大小** - 调整视频(和iframes)的尺寸,保持宽度比
-   📱 **响应设计** - 所有设备的工程
-   👆 **触摸、指针和指针支持** - 鼠标、触摸和笔的统一指针事件,加上触摸屏幕上的原生两指相接到大小
-   ⌨️ **键盘可访问** - 真实 `<button>` 控制、焦点管理和键盘快捷键
-   💾 **持续大小** - 宽度、高度和校正存活 `getContents()`编号 :`setContents()` 往返、复制和页面重装
-   🌐 **多语种支助** - 自定义本地化选项
-   🔒 **警卫第一** - 零脆弱性、现代依赖性,定期审计
-   ⚡ **业绩优化** - 轻量级(XQ7 kB brotli)和快活型
-   🎨 **自定义工具栏** - 显示/隐藏对齐和大小工具
-   📏 **大小显示** - 可选尺寸指标
-   🔔 **已打入调用** - 说吧 `onSelect`, (中文(简体) ), `onResizeStart`, (中文(简体) ), `onResize`, (中文(简体) ), `onResizeEnd`, (中文(简体) ), `onAlignChange`
-   📐 **调整限制大小** - 分/最大宽度/高,宽-角锁定(全球或每个嵌入标记),以及 `%`编号 :`px` 可配置预设的大小模式
-   🧩 **自定义嵌入** - 配置触发重叠的标记(`embedTags`)或解决任意包装元素(`resolveEmbed`没有叉子
-   ✏️ **媒体属性** - 编辑 `alt` 文本和内容 `title` 从工具栏开始,通过奎尔的三角洲模式持续
-   ⬆️ **上传 Hooks 压缩( C)** - 截获粘贴/投放的图像 `onImageUpload` 发送到您自己的上传管道, 并带有可选客户端的缩小范围通过 `imageCompression`
-   📦 **现代包装** 真正的无害环境管理(`.mjs`)和 UMD 建构正确 `exports`编号 :`module` 分辨率,加上头等类型脚本
-   🧪 **框架就绪** - Vanilla JS、React、Next.js、Vue和Angular的融合指南

## V2.1 有什么新鲜事

-   **触摸设备上的大小** - 把第二个手指放在任何地方 选中的图像/ 视频, 并抓取或扩展到比例大小 , 不需要瞄准小手柄.
-   **更可靠的触摸拖曳** - 调整的手柄现在使用指针 事件(摩擦、触摸和笔接合) 扩大的隐形被击中区域.
-   **原生奎尔持久性** - 宽度/高度/调整现在由 已注册的Quill格式,所以它们在 Delta 序列化中幸存下来 仅依赖内含样式.
-   **以可选压缩方式上传钩子** - 有线 `onImageUpload` 改为 在被插入前截取已粘贴/已投放的图像 .
-   **自定义嵌入支持** - 调整任意包装元素的大小或额外 通过标签 `resolveEmbed`编号 :`embedTags`,没有伪造的图书馆.
-   **键盘访问** - 箭键重塑大小、重点管理以及 屏幕阅读器友好控制.
-   **依赖性审计** - 脆弱性从23个减少到1个(a) 有记录的、无法固定的上流低热度问题),100%的测试 和lint工具保持时速.
-   **真正的无害环境管理建设** - 说吧 `dist/quill-resize-module.esm.mjs` 修正 a 上一个包装错误 `import` 解为 UMD 捆绑 真正的无害环境管理.

## 德莫语

**现场德莫:** [页:1](https://botoom.github.io/quill-resize-module/)

![Demo](https://raw.githubusercontent.com/BOTOOM/quill-resize-module/master/demo/demo.gif)

针对具体框架的整合实例(Vanilla、React、Next.js、Vue、, 使用寿命周期/清理指导的角) [`examples/`](https://npmcn.com/package/%40botom/quill-resize-module/examples/README.md)。 。 。 .

## \* 安装

```bash
npm install @botom/quill-resize-module
```

或与平按:

```bash
pnpm add @botom/quill-resize-module
```

使用 Yarn 时 `yarn add @botom/quill-resize-module`。 。 。 . `quill` 是一个对等点 依赖,请在应用程序中安装:

```bash
npm install quill
# or: pnpm add quill
# or: yarn add quill
```

3号货船因此建造了节点/分解和 简单 `<script>` 正确使用工作 :

| 消费者 | 文件 | 格式 |
| --- | --- | --- |
| 邦德勒斯/节点(`import`(中文(简体) ) | `dist/quill-resize-module.esm.mjs` | 真实的ES模块( A)`export`编号 :`import`(中文(简体) ) |
| 邦德勒斯/节点(`require`页:1 `<script>` | `dist/quill-resize-module.min.js` | UMD, 已修改 |
| 遗产 `<script>` (未识别/调试) | `dist/quill-resize-module.js` | UMD 图像 |

包裹 `exports` 地图解析 `import`编号 :`require` 自动 - 通常不需要直接引用这些路径.

## 使用量

### ES6/ 类型脚本

```javascript
import Quill from "quill";
import ResizeModule from "@botom/quill-resize-module";

Quill.register("modules/resize", ResizeModule);

const quill = new Quill("#editor", {
  modules: {
    resize: {
      showSize: true,
      locale: {
        altTip: "Hold down the alt key to zoom",
        floatLeft: "Left",
        floatRight: "Right", 
        center: "Center",
        restore: "Restore",
      },
    },
  },
});
```

### 浏览器( CDN)

```html
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Quill Resize Module Demo</title>
  <link href="https://cdn.jsdelivr.net/npm/quill@2.0.0/dist/quill.snow.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/quill@2.0.0/dist/quill.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@botom/quill-resize-module@latest/dist/quill-resize-module.js"></script>
</head>
<body>
  <div id="editor"></div>
  <script>
    Quill.register("modules/resize", window.QuillResizeModule);
    
    const quill = new Quill("#editor", {
      modules: {
        toolbar: ["bold", "italic", "image", "video"],
        resize: {
          showSize: true,
          locale: {}
        }
      },
      theme: "snow"
    });
  </script>
</body>
</html>
```

## QQ 配置选项

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `showToolbar` | 布尔 | `true` | 显示/隐藏工具栏 |
| `showSize` | 布尔 | `false` | 以浮动标签显示当前尺寸 |
| `locale` | 对象 | `{}` | 自定义语言字符串 |
| `toolbar.sizeTools` | 布尔 | `true` | 显示大小调整工具 |
| `toolbar.alignTools` | 布尔 | `true` | 显示对齐工具 |
| `toolbar.sizePresets` | 编号\[\] | `[100, 50]` | 作为快速大小预设按钮提供的百分比 |
| `toolbar.sizeUnit` | `"%"` | `"px"` | `"%"` | 预设按钮应用的单位和宽度输入(见 [调整限制大小( M)](https://npmcn.com/package/%40botom/quill-resize-module/#readme--resize-constraints--modes)(中文(简体) ) |
| `toolbar.attributesTool` | 布尔 | `true` | 显示打开 alt/ title 面板的“ 编辑属性” 按钮( 见 [媒体属性](https://npmcn.com/package/%40botom/quill-resize-module/#readme-%EF%B8%8F-media-attributes-alt-text--title)(中文(简体) ) |
| `constraints` | `ResizeConstraints` | `{}` | Min/max 宽度和高度及相距锁定,适用于每个目标(见下文) |
| `constraintsByTag` | 对象 | `{}` | 重置( P) `constraints` (例如:. `{ img: {...}, video: {...}, myEmbed: {...} }`(中文(简体) ) |
| `embedTags` | 字符串 \[\] | `["img", "video"]` | 单击时触发重覆大小的标记. **完全替换** 默认列表 — 设置为添加自定义标记( 例如) . `["img", "video", "canvas"]`(中文(简体) ) |
| `resolveEmbed` | 函数 | `undefined` | 自定义解析器 `(clickedTarget, event) => HTMLElement | null` 来支持任意包装元素(参见 [自定义嵌入](https://npmcn.com/package/%40botom/quill-resize-module/#readme--custom-embeds)(中文(简体) ) |
| `onImageUpload` | 函数 | `undefined` | `(file: File) => Promise<string> | string` 调用每个被粘贴/被丢弃的图像;其解析的 URL 被插入到编辑器中(参见 [上传 Hooks 压缩( C)](https://npmcn.com/package/%40botom/quill-resize-module/#readme-%EF%B8%8F-upload-hooks--compression)(中文(简体) ) |
| `imageCompression` | `ImageCompressionOptions | false` | `undefined` | 可选客户端降级 `onImageUpload`。只有在 `onImageUpload` 设定 |

> `toolbar.alingTools` (原名,拼写错误)仍然可以 折旧的别名 `toolbar.alignTools`,但新代码应当使用 更正名称.

### 回电

| 回电 | 签署 | 当火 |
| --- | --- | --- |
| `onChange` | `(element: HTMLElement) => void` | 任何更改后(drag,键盘大小调整,工具栏点击/输入). 用于向后兼容 . |
| `onSelect` | `(element: HTMLElement) => void` | 一次,当重叠激活一个新的img/video/iframe目标时. |
| `onResizeStart` | `(element: HTMLElement) => void` | 当调整手势大小开始(指针拖曳,键盘箭头步骤,或工具栏宽度动作)时. |
| `onResize` | `(element: HTMLElement, event: ResizeChangeEvent) => void` | 在调整手势时 每起火灾 `pointermove` 用于拖曳;一次是键盘/工具栏驱动的调整大小的最后大小. |
| `onResizeEnd` | `(element: HTMLElement) => void` | 当一个调整大小的手势结束. |
| `onAlignChange` | `(element: HTMLElement, align: "left" | "center" | "right" | null) => void` | 当通过工具栏调整时. |
| `onAttributesChange` | `(element: HTMLElement, attrs: ResizeMediaAttributes) => void` | 何时 `alt`编号 :`title` 通过属性面板保存. |

`ResizeChangeEvent` 实值 `{ target: HTMLElement; width: number; height: number; align: "left" | "center" | "right" | null }`。 。 。 .

```typescript
import type { QuillResizeModuleOptions, ResizeChangeEvent } from "@botom/quill-resize-module";

const options: QuillResizeModuleOptions = {
  onSelect: (element) => console.log("selected", element),
  onResizeStart: (element) => console.log("resize start", element),
  onResize: (element, event: ResizeChangeEvent) => {
    console.log(`resizing to ${event.width}x${event.height}`, event.align);
  },
  onResizeEnd: (element) => console.log("resize end", element),
  onAlignChange: (element, align) => console.log("align changed", align),
};
```

### 区域配置

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      locale: {
        altTip: "Hold down the alt key to zoom",
        floatLeft: "Left",
        floatRight: "Right",
        center: "Center",
        restore: "Restore",
      },
    },
  },
});
```

### 工具栏自定义

```javascript
// Hide alignment tools (e.g. for content pipelines that don't need it)
const quill = new Quill("#editor", {
  modules: {
    resize: {
      toolbar: {
        alignTools: false, // Hide alignment
        sizeTools: true,   // Keep size tools
      },
    },
  },
});
```

## QQ 媒体属性( 备选案文和标题)

工具栏中每个可扩展的目标都有一个“编辑属性”按钮 (隐藏它与 `toolbar.attributesTool: false`打开一个小面板 供编辑 `alt` 文本和内容 `title`数字 :

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      onAttributesChange: (element, { alt, title }) => {
        console.log("attributes saved", { alt, title });
      },
    },
  },
});
```

-   这个 **替换文本** 字段仅显示为 `<img>` 目标,匹配 本地 HTML 语义学 – 视频和 Iframes 没有 `alt` 属性.
-   这个 **标题** 字段可供任何目标使用,并设置一个简单的 HTML `title` 属性(被浏览器显示为本地工具提示).
-   两个字段被保存到奎尔的Delta模型(`alt`编号 :`title` 德尔塔 属性),当存在活的奎尔实例时,它们生存下来 `getContents()`编号 :`setContents()` 圆行恰好像宽度,高地, 和对齐.
-   按键 **逃脱** 在面板内集中时 关闭了 面板,将重排大小打开.

## 调整限制和模式大小

控制每个调整手势的界限和行为(指针拖动, 键盘箭头步骤,以及 `px`\-单位工具栏动作 :

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      constraints: {
        minWidth: 80,
        maxWidth: 800,
        minHeight: 60,
        maxHeight: 600,
        lockAspectRatio: true, // always preserve ratio, without needing Alt
      },
      // Override constraints for specific embed tags — per-tag fields win
      // over the matching field in the global `constraints` above.
      constraintsByTag: {
        video: { lockAspectRatio: true },
        iframe: { lockAspectRatio: true, minWidth: 320 },
      },
    },
  },
});
```

> 绝对的30px最小值始终作为安全底值适用,即使 较小 `minWidth`编号 :`minHeight` 已配置.

在相对之间切换( T)`%`)和绝对(`px`) 为工具栏的大小 预设按钮和宽度输入,并自定义哪些百分比 作为预设提供:

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      toolbar: {
        sizePresets: [100, 75, 50, 25], // default is [100, 50]
        sizeUnit: "px", // default is "%"; presets/input become fixed px sizes
      },
    },
  },
});
```

单位 `"%"` 模式(默认)预设按钮/输入设置一个相对 `width: N%;`,所以嵌入床 继续调整大小 与其容器。 单位 `"px"` 模式从嵌入式原大小计算出绝对宽度 (例如,200px宽图像的50%变成 `width: 100px;`)和设置 `height: auto;`,所以嵌入体保持固定大小,无论 容器的宽度. `minWidth`编号 :`maxWidth` 执行限制 `px`\- 模式预设/输入更改.

## 自定义嵌入

默认情况下,单击一个 `img` 或者说 `video` 附加重排大小 (框架——例如YouTube嵌入体——通过焦点单独处理) 追踪,因为点击内部 跨源 iframe 内容不会泡沫到 页:1 您可以扩展或完全替换此行为 而不伪造图书馆:

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      // Fully replaces the default ["img", "video"] list — include every
      // tag you want to be resizable.
      embedTags: ["img", "video", "canvas", "my-custom-embed"],
    },
  },
});
```

对于不是单一元素的嵌入物(例如包装) `<div>` 或者说 `<figure>` 环绕内元素),使用 `resolveEmbed` 联合国 单击实际调整大小的元素:

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      resolveEmbed(clickedTarget, event) {
        // Clicking anywhere inside a ".chart-embed" wrapper resizes the
        // wrapper itself, not the element that was clicked.
        return clickedTarget.closest(".chart-embed");
      },
    },
  },
});
```

`resolveEmbed` 被先检查;如果返回 `null`编号 :`undefined`,则 模块返回到 `embedTags`\- 根据被点击元素的匹配 自己的标签名称。 两者 `constraintsByTag` 和坚持通过奎尔的 Delta 模型( 用于blot- bitched 元素) 完全使用自定义嵌入 就像他们一样 `img`编号 :`video`。 。 。 .

## QQ 上传钩并压缩

默认情况下,粘贴或向编辑器投放图像由 Quill/浏览器的本地剪贴板行为(通常为内含) `data:` URL) (中文(简体) ). 设置 `onImageUpload` 让你拦截流出 将文件发送给您自己的上传管道—— 模块插入 无论您解决的 URL :

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      async onImageUpload(file) {
        const formData = new FormData();
        formData.append("file", file);
        const response = await fetch("/api/upload", {
          method: "POST",
          body: formData,
        });
        const { url } = await response.json();
        return url;
      },
    },
  },
});
```

-   `onImageUpload` 仅用于 **图像** 文件已粘贴/ 已丢弃 直接输入编辑器; 非图像文件并拖放文本或 其他内容没有受到影响.
-   若为 `onImageUpload` 实值 **没有** 配置、 粘贴/ 滴放行为 完全没有改变——这个特性是完全选入和后入的 兼容.
-   返回发酵值( 如. `undefined` 或空字符串)跳过 插入此文件, 如果上传失败, 您将会使用 想要显示自己的错误 UI .
-   多个被粘贴/被丢弃的文件按顺序上传并插入.

可选的,在图像到达前降低客户端 `onImageUpload` 与 `imageCompression`数字 :

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      onImageUpload /* ... */,
      imageCompression: {
        maxWidth: 1600,
        maxHeight: 1600,
        mimeType: "image/jpeg",
        quality: 0.8,
      },
    },
  },
});
```

`imageCompression` 使用内存 `<canvas>` 调整大小/重编码 图像并永远不升级已经小于图像 配置界限 。 只有配对时才有效果 `onImageUpload` (粘贴/滴滴截取器不激活其他方式), 如果画布2D渲染不可用 ,或者压缩步骤为任意 理由,原始文件的传递方式不变,而不是 上传失败 .

## 高级配置

将工具栏的能见度与活的大小标签合并 :

```javascript
const quill = new Quill("#editor", {
  modules: {
    resize: {
      toolbar: {
        alignTools: false, // Disable alignment tools
      },
      showSize: true,
    },
  },
});
```

## & 键盘快捷键

调整手柄大小和每个工具栏控制都是真实的 `<button>` 要素 (不是锚),所以它们可以达到,可以使用键盘一次 覆盖已激活,由屏幕阅读器正确宣布. 当覆盖激活时,焦点会自动移动到调整大小的手柄上:

| 快捷键 | 行动 |
| --- | --- |
| 箭头键 | 缩放 1px |
| 移动 + 箭头键 | 缩放 10px |
| 备选案文 + 箭头键 | 在保持原宽比时调整大小 |
| `0` | 恢复原始大小 |
| `Escape` | 关闭覆盖 |

通过指针事件和调整大小支持触取和笔接输入 手柄具有被放大(隐形)的触摸屏被击中的区域. 触摸时 设备,整个选定的媒体区域也支持 **抓到调整大小**数字 : 把第二个指头放到任何位置 覆盖,扩散或捏 平面宽度和高度并列,比例与距离 手指会动——不需要精确地降落在小把手上. 锁定 取消正在拖动的单指手柄, 并尊重同样的 `constraints` (最小/最大宽度/高)与其他每个调整大小的手势一样.

## QQ Bug 修正安全性( S)

### 最近的修补

-   ✅ **固定定位** 当在相对元素内筑巢时(PR #12)
-   ✅ **安全脆弱性** 解决(DOM Clobbering XSS、RCE)
-   ✅ **更新的依赖关系** 至最新安全版本
-   ✅ **系统现代化** 随卷起 v3

### 安全状况

-   🔒 **0个脆弱性** 生产依赖性(`npm audit --omit=dev --audit-level=high`(中文(简体) )
-   🛡️ **现代依赖关系** - 保守地跟踪和补救长期工具脆弱性(见 [`MEJORAS_LIBRERIA.md`](https://npmcn.com/package/%40botom/quill-resize-module/MEJORAS_LIBRERIA.md#auditoria-y-remediacion-de-dependencias)(中文(简体) )
-   一个知道 **低强度** 问题 `quill` 本身(HTML导出特性中的 XSS, [GHSA-v3m3-f69x-jf25](https://github.com/advisories/GHSA-v3m3-f69x-jf25))),影响最近出版的 `quill` 上行跟踪,本单元未引入
-   ✅ **CI/CD 安全** 带节点.js 20.x

## QQ 浏览器支持

| 浏览器 | 版本 |
| --- | --- |
| 颜色 | 70岁以上 |
| 火花 | 65岁以上 |
| 萨法里 | 12岁以上 |
| 边缘 | 79岁以上 |

## \* 框架兼容性

模块本身没有框架依赖性,仅需要 Quill 2.x 实例. 像奎尔自己,它读 `document`编号 :`HTMLElement` 在构建时, 因此它不能在服务器侧渲染时运行; in 安全部门改革框架(Next.js、Nuxt、Angular Universal等)总是创建 仅在客户端上编辑。 见 [`examples/`](https://npmcn.com/package/%40botom/quill-resize-module/examples/README.md) 页:1 从事了香草,React,Next.js,Vue,和Angular集成,包括 安全部门改革指导和清理/`destroy()` 生命周期接线.

## 捐款

1.  叉子存储器
2.  创建您的特性分支( E)`git checkout -b feature/amazing-feature`(中文(简体) )
3.  提交更改( E)`git commit -m 'feat: add amazing feature'`(中文(简体) )
4.  推向分行(`git push origin feature/amazing-feature`(中文(简体) )
5.  打开拉请求

### 提交公约

这个项目紧随其后 [常规武器委员会](https://www.conventionalcommits.org/) 用于自动版本:

-   `feat:` 新特性
-   `fix:` 对于错误修正
-   `docs:` 文档
-   `style:` 用于格式化
-   `refactor:` 用于代码重构
-   `test:` 测试
-   `chore:` 维修费

## 发展

```bash
# Clone the repository
git clone https://github.com/BOTOOM/quill-resize-module.git
cd quill-resize-module

# Install dependencies (choose one)
npm install
# pnpm install
# yarn install

# Start development
npm run dev

# Run tests
npm test

# Build for production
npm run build
```

## 许可证

麻省理工学院 [埃德瓦尔·迪亚斯](https://github.com/BOTOOM)

## 有关项目

-   [Quill.js (英语)](https://quilljs.com/) - 现代丰富的文本编辑器
-   [Quill 图像大小调整](https://github.com/kensnyder/quill-image-resize) - 替代图像大小调整模块

## 数据

![GitHub stars](https://img.shields.io/github/stars/BOTOOM/quill-resize-module?style=social) ![GitHub forks](https://img.shields.io/github/forks/BOTOOM/quill-resize-module?style=social) ![GitHub issues](https://img.shields.io/github/issues/BOTOOM/quill-resize-module) ![GitHub pull requests](https://img.shields.io/github/issues-pr/BOTOOM/quill-resize-module)

## 常见问题

### @botom/quill-resize-module 是什么？

现代,安全的Quill\.js模块来调整图像大小,GIFs,视频,和iframes——触摸并剪接到修改大小,键盘可以访问,通过Quill Deltas持续缩小,上传钩子,以及0个已知的高强度弱点\.

### 如何安装 @botom/quill-resize-module？

在项目目录运行 npm install @botom/quill-resize-module，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：quill（^2\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @botom/quill-resize-module 支持 TypeScript 吗？

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

### @botom/quill-resize-module 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @botom/quill-resize-module 需要什么版本的 Node\.js？

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

### @botom/quill-resize-module 可以商用吗？

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

### @botom/quill-resize-module 的下载量有多少？

根据 npm 官方下载统计，@botom/quill-resize-module 在 2026/10/09 – 2026/11/07 这 30 天内被下载 18,706 次，日均约 624 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @botom/quill-resize-module 还在维护吗？

最新版本 2\.2\.2 发布于 2026/08/11（2 个月前）；至今共发布 9 个版本，其中过去 12 个月发布了 4 个；首次发布于 2021/12/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

