# @djangocfg/widget-kit 中文文档

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

版本：0\.1\.24
npm 元数据更新时间：2026-11-11T03:55:42.949Z
中文译文更新时间：2026-11-12T12:14:31.973Z
软件包许可：MIT

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

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

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

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

## 中文简介

Djangocfg 部件的共享地块:格式化器、懒惰的占位符和一个代码块( Prism) 每个表面必须商定

## 安装

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

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

## README

# @djangocfg/ widget-kit (英语)

Djangocfg 部件的共享地 : 一个以上表面需要的 同意,没有别的.

**部件可能取决于此 。 这取决于没有部件 .**

## 这是什么

| 子路径 | 出口 |
| --- | --- |
| `.` 编号 : `./format` | `formatBytes`, (中文(简体) ), `formatClock`· ; `normalize`, (中文(简体) ), `basename`, (中文(简体) ), `extension`, (中文(简体) ), `dirname`, (中文(简体) ), `segments`, (中文(简体) ), `isAbsolute`, (中文(简体) ), `unquote`, (中文(简体) ), `elidePath`, (中文(简体) ), `elideName`, (中文(简体) ), `elidePathLine` |
| `./pretty-code` | `PrettyCode` (原始内容列表:标题、副本、包装、浅/暗、紧凑、, `pending`, (中文(简体) ), `CodePanelHeader`, (中文(简体) ), `languageLabel`, (中文(简体) ), `normalizePrismLanguage`, (中文(简体) ), `ensurePrismLanguages`, (中文(简体) ), `useEnsurePrismLanguages` |
| `./pretty-code/lazy` | `LazyPrettyCode`,懒惰边界后面的相同组件 |
| `./lazy` | `createLazyComponent`, (中文(简体) ), `LazyWrapper`, (中文(简体) ), `Spinner`和占位符 `LoadingFallback`, (中文(简体) ), `InlineLoadingFallback`, (中文(简体) ), `CardLoadingFallback`, (中文(简体) ), `MapLoadingFallback`· ; `configureLazyCopy` |

**`./lazy` 不从根上再导出**这是故意的 排除:是反应和拉动 `@djangocfg/ui-core` 后面,而根则 是纯洁的。 一个消费者想要 `formatBytes` 不得支付组件树.

```ts
import { formatBytes, formatClock, elidePathLine } from '@djangocfg/widget-kit';

formatBytes(1536);                       // '1.5 KB'   — binary steps
formatClock(214);                        // '3:34'     — a track, not a duration
elidePathLine('/very/long/path.txt', 24) // '…/path.txt'
```

## 占位符

```tsx
import { createLazyComponent, MapLoadingFallback } from '@djangocfg/widget-kit/lazy';

export const LazyMap = createLazyComponent(
  () => import('./MapContainer').then((m) => ({ default: m.MapContainer })),
  { displayName: 'LazyMap', fallback: <MapLoadingFallback minHeight={400} /> },
);
```

复制是一个已打入对象的解析, 而不是 `t(key)` 查询: a 占位符在故事、测试和服务器传出——三个位置 最不可能是安装了供应商。 启动时将其替换为 `configureLazyCopy({ loading: '…' })`。 。 。 .

## 入场价格

**任何土地都无法重新使用 进入价格.** 共享包中的一消费者助手是 错误的软件包: 它现在是一个公共的 API,它约束了拥有它的部件, 没有人可以改变它 不检查一个不存在的呼叫者.

包的要点是相反属性: 相同的字节计数不能 两个表面之间格式不同.

## 校验

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

## 常见问题

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

Djangocfg 部件的共享地块:格式化器、懒惰的占位符和一个代码块\( Prism\) 每个表面必须商定

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

在项目目录运行 npm install @djangocfg/widget-kit，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^19\.0\.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-kit 支持 TypeScript 吗？

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

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

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

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

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

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

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

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

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

