# decoupled-drupal-mock-umami 中文文档

规范地址：https://npmcn.com/package/decoupled-drupal-mock-umami/

版本：1\.0\.0-alpha\.1
npm 元数据更新时间：2026-11-03T10:10:21.307Z
中文译文更新时间：2026-11-03T11:21:21.569Z
软件包许可：GPL-2\.0-or-later

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

原始 npm 页面：https://www.npmjs.com/package/decoupled-drupal-mock-umami
原文对照：https://npmcn.com/package/decoupled-drupal-mock-umami/?lang=original

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

- 包体积（解压后）：2.2 MB，104 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：decoupled-drupal-mock ^1\.0\.0-alpha\.1
- 首次发布：2026-11-03T10:05:11.200Z
- 最新版本发布：2026-11-03T10:10:21.152Z
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

Drupal的Umami演示站点作为解耦的Drupal模拟装置，从真正的Drupal 11安装中构建。

## 安装

```sh
npm install decoupled-drupal-mock-umami
```

也可以使用：`pnpm add decoupled-drupal-mock-umami`、`yarn add decoupled-drupal-mock-umami`、`bun add decoupled-drupal-mock-umami`

## README

# decoupled-drupal-mock-umami

Drupal的Umami演示站点作为固定装置 `decoupled-drupal-mock`，英文和西班牙文。它是从Drupal 11安装中记录的 `demo_umami` 配置文件，带解耦路由器，JSON:API菜单项，JSON:API视图和解耦设置。

该站点还应用了Druxt .js中的Druxt示例配方，因此它不同于普通的Umami安装。该配方启用了Druxt模块、简单OAuth和解耦设置，并授予访问者 `access druxt resources` 和 `read decoupled settings`，因此访问者可以读取诸如显示之类的配置。它还关闭了JSON:API的只读模式 `body` 基本页面，并添加图像样式。Core的菜单链接集没有打开，所以模拟的回答是404，就像这个网站一样。

```js
import { createDrupal } from 'decoupled-drupal-mock';
import umami from 'decoupled-drupal-mock-umami';

const drupal = createDrupal(umami(), { baseUrl: 'https://drupal.test' });
const index = await drupal.fetch('https://drupal.test/jsonapi');
```

基线是网站作为发布模块回答它，和 `dump/manifest.json` 命名每个模块的版本。

## 帐户和OAuth客户端

build将这些添加到站点中，mock将它们登录。每个密码和每个客户端的秘密与其名称相同。

| 账户 | 角色 |
| --- | --- |
| `admin` | 管理员，从安装。这里没有密码也没有OAuth客户端，所以只有 `tokenFor('admin')` 签到 |
| `editor` | 编辑器 |
| `author` | 作者 |
| `reader` | 未经认证的 |

| OAuth客户 | 资助 | 作为 |
| --- | --- | --- |
| `decoupled-drupal-mock` | 客户端凭据，刷新令牌 | `editor` |
| `decoupled-drupal-mock-author` | 客户端凭证 | `author` |
| `decoupled-drupal-mock-reader` | 客户端凭证 | `reader` |
| `decoupled-drupal-mock-public` | 授权代码与PKCE，刷新令牌。没有秘密，它重定向到 `http://127.0.0.1:3000/callback` | 登录的用户 |

也安装了密码授权。在测试中， `tokenFor('editor')` 直接返回帐户的令牌，而无需经过授权。

## 一个拥有更多的网站

预设仅为库存站点。具有预置缺少的贡献模块或补丁的站点将差异记录为其自身的覆盖，与该站点的构建：参见 [覆盖](https://npmcn.com/docs/overlays.md)。 [`examples/overlays/`](https://npmcn.com/examples/overlays) 有三个是这样做的，其中包括Druxt的语言路由补丁，引擎的测试重播了这些补丁。没有与预设一起发布。

## 公开的文件和证据

`dump/` 是模拟加载的内容，以及这个包发布的内容。 `dump/manifest.json` 命名构建来自的Drupal核心版本、每个文件的散列，以及测试重播的每个记录的散列。舱单上没有 `format` 是该引擎读取的格式1。

其余的都是证据，保存在仓库里，没有发表。 `oracle.txt` 和 `writes.json` 列出构建发送给真正的Drupal的请求。 `oracle/` 存储Drupal的答案，引擎的测试根据这些答案进行检查。

建造的 [Druxt](https://druxtjs.org/)。

## 常见问题

### decoupled-drupal-mock-umami 是什么？

Drupal的Umami演示站点作为解耦的Drupal模拟装置，从真正的Drupal 11安装中构建。

### 如何安装 decoupled-drupal-mock-umami？

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

### decoupled-drupal-mock-umami 支持 TypeScript 吗？

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

### decoupled-drupal-mock-umami 支持 ESM 还是 CommonJS？

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

### decoupled-drupal-mock-umami 可以商用吗？

decoupled-drupal-mock-umami 使用 GPL-2\.0-or-later 许可。强 Copyleft：分发包含该代码的软件时，整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括，不构成法律意见，请以许可原文为准。

### decoupled-drupal-mock-umami 还在维护吗？

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

