# @djangocfg/widget-media 中文文档

规范地址：https://npmcn.com/package/%40djangocfg/widget-media/

版本：0\.1\.49
npm 元数据更新时间：2026-11-11T03:54:12.643Z
中文译文更新时间：2026-11-12T12:12:56.195Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40djangocfg/widget-media
原文对照：https://npmcn.com/package/%40djangocfg/widget-media/?lang=original
项目主页：https://djangocfg.com/
源码仓库：https://github.com/markolofsen/django-cfg

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

- 包体积（解压后）：136 kB，55 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：6 个
- peer 依赖：react ^19\.0\.0，streamdown ^2\.6\.0，lucide-react ^1\.68\.0，@djangocfg/i18n ^2\.1\.648，@djangocfg/ui-core ^2\.1\.648
- 首次发布：2026-09-09T08:12:57.271Z
- 最新版本发布：2026-11-11T03:54:12.452Z
- 近 30 天下载量：7604（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：45（近 12 个月 45 个）

## 中文简介

对话或文件预览的媒体浏览器:缩放/泛图像灯盒、人鱼图、标记下和代码列表

## 安装

```sh
npm install @djangocfg/widget-media
```

也可以使用：`pnpm add @djangocfg/widget-media`、`yarn add @djangocfg/widget-media`、`bun add @djangocfg/widget-media`

## README

# @djangocfg/ widget-media (英语)

对话或文件预览的媒体查看器:缩放/泛图像灯盒, 美人鱼图,一个读取器的标记,和只读代码列表.

## 安装

```bash
pnpm add @djangocfg/widget-media @djangocfg/ui-core streamdown
```

## 出口

**每个观众都是自己的子路 这就是合同.** 根枪管 仅携带图像取景器;其他三个取出解析器或突出显示器, 一个装有灯盒的宿主 不得为其中任何一台付费.

| 子路径 | 这是什么 | 付出的代价 |
| --- | --- | --- |
| `.` | `ImageLightbox`, (中文(简体) ), `LazyImageLightbox`, (中文(简体) ), `ImageViewer`, (中文(简体) ), `LazyImageViewer`、钩子、类型、常数 | `yet-another-react-lightbox` (灯盒), `react-zoom-pan-pinch` (观众) |
| `./diagram` | `LazyDiagram`, (中文(简体) ), `DiagramSource`, (中文(简体) ), `diagramPlugin` | 美人鱼 (~2.5 MB) - **总是推迟** |
| `./markdown` | `Markdown` 为了读者,任何谈话之外 | 流出 |
| `./code` | `Code` ——只读列表 | 下流 + shiki |
| `./i18n` | `MediaCopy`, (中文(简体) ), `DEFAULT_MEDIA_COPY`, (中文(简体) ), `MEDIA_DICTIONARIES`, (中文(简体) ), `useMediaCopy` | —— 说 |

```tsx
import { ImageViewer } from '@djangocfg/widget-media';
import { LazyDiagram } from '@djangocfg/widget-media/diagram';

<ImageViewer images={[{ name: 'chart.png', src }]} lightbox />
<LazyDiagram chart={source} streaming={isStreaming} />
```

## 复制

包拥有副本, 打印, 在17 `@djangocfg/i18n` 当地人。 这个 语言来自 `@djangocfg/i18n` 提供者(英文无一)。 过 `copy` 以覆盖任意子集;您省略了字典的文本,所以 更改一个标签不会将其余的空白.

```tsx
<ImageViewer images={images} copy={{ zoomIn: 'Приблизить', close: 'Закрыть' }} />
```

`MediaCopy` 是记录的图谋——拼错的密钥是 `tsc` 错误, 不 `undefined` 变成工具栏按钮.

## 图像灯盒

模式画廊点击图片打开,打开 [另一种反应灯盒](https://github.com/igordanchenko/yet-another-react-lightbox)数字 : 焦点陷阱,刷新,预装邻居,键盘,轮子/平克缩放, 拇指和计数器 双击在指针和下个指针上放大 缩放后退;光标在休息时是放大器,只在缩放时是手. 皮肤是 `src/image-viewer/lightbox/lightbox.css`{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}YARL的音乐 `--yarl__*` 变量映射到ui-core符号,所以它跟随光/暗以及每一个预设.

```tsx
import { LazyImageLightbox } from '@djangocfg/widget-media';

<LazyImageLightbox
  images={[{ name: 'a.jpg', src, downloadSrc }]}
  open={index !== null}
  index={index ?? 0}
  onIndexChange={setIndex}
  onClose={() => setIndex(null)}
/>
```

它需要地址(`LightboxImage`),从不生字节;内映像去 结束 `ImageViewer`。 。 。 . `LazyImageLightbox` 直到 `open`。 。 。 .

## 图像查看器

嵌入式编辑器: 缩放( 轮子 + 预设) 25/50/100/200/400%),用拖取法制成锅, 旋转 90°,翻转 H/V,全屏对话框,键盘快捷键(`+`编号 :`-`, (中文(简体) ), `0` 重设, `r` 旋转、 逐步加载 LQIP、 检查板透明 地面,缓存尺寸显示。 双击将缩放到指针上 从别的地方回来 这个 `lightbox` 道具是旧的全屏 列报,取而代之 `ImageLightbox` 并保持这样现有的主机编译.

## 校验

```bash
pnpm --filter @djangocfg/widget-media check-types test
```

## 常见问题

### @djangocfg/widget-media 是什么？

对话或文件预览的媒体浏览器:缩放/泛图像灯盒、人鱼图、标记下和代码列表

### 如何安装 @djangocfg/widget-media？

在项目目录运行 npm install @djangocfg/widget-media，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^19\.0\.0）、streamdown（^2\.6\.0）、lucide-react（^1\.68\.0）、@djangocfg/i18n（^2\.1\.648）、@djangocfg/ui-core（^2\.1\.648）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @djangocfg/widget-media 支持 TypeScript 吗？

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

### @djangocfg/widget-media 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @djangocfg/widget-media 可以商用吗？

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

### @djangocfg/widget-media 的下载量有多少？

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

### @djangocfg/widget-media 还在维护吗？

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

