# @directus-labs/liquidjs-operation 中文文档

规范地址：https://npmcn.com/package/%40directus-labs/liquidjs-operation/

版本：1\.2\.0
npm 元数据更新时间：2026-06-05T15:48:25.864Z
中文译文更新时间：2026-11-13T05:45:03.884Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40directus-labs/liquidjs-operation
原文对照：https://npmcn.com/package/%40directus-labs/liquidjs-operation/?lang=original

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

- 包体积（解压后）：151 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：1 个
- peer 依赖：liquidjs 10\.20\.1
- 首次发布：2024-08-30T13:49:40.801Z
- 最新版本发布：2025-05-28T22:33:33.917Z
- 近 30 天下载量：2183（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：4（近 12 个月 0 个）

## 中文简介

Directus流中的流出液态模板.

## 安装

```sh
npm install @directus-labs/liquidjs-operation
```

也可以使用：`pnpm add @directus-labs/liquidjs-operation`、`yarn add @directus-labs/liquidjs-operation`、`bun add @directus-labs/liquidjs-operation`

## README

# 液态模板操作

![Liquid Template Operation](https://raw.githubusercontent.com/directus-labs/extensions/main/packages/liquidjs-operation/docs/liquid-operation.png)

Liquid Template 渲染操作允许您使用强大的 [液态JS](https://liquidjs.com/index.html) 调伏语言. 此操作完全适合创建个性化的电子邮件,生成动态内容,或者任何您需要将数据与流程中的模板合并的情景.

## 特征

-   支持自定义和保存的模板
-   单批处理模式
-   从输入数据中返回特定字段以及已提供的内容的能力
-   通过可选认证获取安全模板

**重要说明:** 此扩展名对输出标记使用自定义分隔符 `{# #}` 而不是原来的 `{{ }}` 。这是为了避免与Directus用来从流中的其他步骤中填充值的胡子语法相冲突.

* * *

## 配置选项

样本已保存模板配置 ![Sample Saved Template Configuration](https://raw.githubusercontent.com/directus-labs/extensions/main/packages/liquidjs-operation/docs/liquid-operation-saved-template.png)

自定义模板配置 ![Sample Custom Template Configuration](https://raw.githubusercontent.com/directus-labs/extensions/main/packages/liquidjs-operation/docs/liquid-operation-custom-template.png)

### 模板模式

选择如何提供液态模板 :

-   **自定义**: 将模板写入操作中.
-   **已保存**: 使用存储在Directus收藏中的模板.

### 操作模式

选择处理模式 :

-   **单身**: 有单一数据对象的渲染一模板.
-   **批次**:将模板多次渲染,一次在一系列数据对象中针对每个项目.

### 模板

-   (仅海关模式)

在此输入您的液体模板 。 使用QQ作为输出标记而不是QQ. 所有其他液体标记保持不变.

示例 `Hello, {# user.name #}! {% if user.admin %}Admin area{% endif %}`

### 收藏

-   (只保存模式)

选择包含您保存的 Liquid 模板的收藏 .

### 模板项目

-   (只保存模式)

从选中的收藏中选择要渲染的特定模板 .

### 到渲染器的字段

-   (只保存模式)

从模板项中选择用于渲染进程的字段.

### 数据

JSON数据来充入模板. 格式:单模式对象,分批模式对象数组. 支持动态值的胡子语法,例如, `{"user": "{{$trigger.user}}"}`

### 访问托肯

-   (只保存模式)

需要访问私有模板收藏 。 确保符符已读取模板收藏的权限 .

### 公开 URL

您 Directus 实例的公开 URL 。 用于获取已保存的模板 .

### 要返回的数据字段

-   (仅批模式)

从输入数据中选择将包含在每个输出对象中的字段。 用于维持上下文或识别(例如"id","name"). 这些字段将连同已制作的分批项目模板一起添加.

* * *

## 样本

### 单一模式示例

-   模板模式 : **自定义**
-   操作模式 : **单身**

**模板**

```jsx
<div>
<p>Hi {# first_name #}!</p>
<p><strong>Thanks for registering for XYZ!</strong></p>
<p>Here's your confirmation code:</p>
<pre>{# confirmation_code #}</pre> p
<p><strong><a href="https://yoururlhere.com/t/{# ticket.slug #}" target="_blank" rel="noopener">Your Ticket</a></strong></p>
<hr>
<p>The Team</p>
</div>
```

**数据**

```json
{
    "first_name": "Bryant",
    "confirmation_code": "ABCDEFG",
    "ticket": {
        "slug": "test"
    }
}
```

**产出**

```json
{
  "template": "<div>\n<p>Hi Bryant!</p>\n<p><strong>Thanks for registering for XYZ!</strong></p>\n<p>Here's your confirmation code:</p>\n<pre>ABCDEFG</pre> p\n<p><strong><a href=\"https://yoururlhere.com/t/test\" target=\"_blank\" rel=\"noopener\">Your Ticket</a></strong></p>\n<hr>\n<p>The Team</p>\n</div>"
}
```

### 批量模式示例

-   模板模式 : **自定义**
-   操作模式 : **批次**
-   从数据返回字段 : `[”first_name”]`

**模板**

```json
<div>
<p>Hi {# first_name #}!</p>
<p><strong>Thanks for registering for XYZ!</strong></p>
<p>Here's your confirmation code:</p>
<pre>{# confirmation_code #}</pre> p
<p><strong><a href="https://yoururlhere.com/t/{# ticket.slug #}" target="_blank" rel="noopener">Your Ticket</a></strong></p>
<hr>
<p>The Team</p>
</div>
```

**数据**

```json
[
    {
        "first_name": "Bryant",
        "confirmation_code": "ABCDEFG",
        "ticket": {
            "slug": "test"
        }
    },
    {
        "first_name": "John",
        "confirmation_code": "HIJKLM",
        "ticket": {
            "slug": "test"
        }
    }
]
```

**产出**

```json
[
  {
    "first_name": "Bryant",
    "template": "<div>\n<p>Hi Bryant!</p>\n<p><strong>Thanks for registering for XYZ!</strong></p>\n<p>Here's your confirmation code:</p>\n<pre>ABCDEFG</pre> p\n<p><strong><a href=\"https://yoururlhere.com/t/test\" target=\"_blank\" rel=\"noopener\">Your Ticket</a></strong></p>\n<hr>\n<p>The Team</p>\n</div>"
  },
  {
    "first_name": "John",
    "template": "<div>\n<p>Hi John!</p>\n<p><strong>Thanks for registering for XYZ!</strong></p>\n<p>Here's your confirmation code:</p>\n<pre>HIJKLM</pre> p\n<p><strong><a href=\"https://yoururlhere.com/t/test\" target=\"_blank\" rel=\"noopener\">Your Ticket</a></strong></p>\n<hr>\n<p>The Team</p>\n</div>"
  }
]
```

* * *

## 安全考虑

-   在使用已保存的模板时,确保访问令牌拥有最低限度的必要权限.
-   在使用模板中用户提供的数据时要谨慎,以避免潜在的安全风险.
-   考虑使用Directus角色和权限来控制敏感模板或数据的访问.

## 常见问题

### @directus-labs/liquidjs-operation 是什么？

Directus流中的流出液态模板\.

### 如何安装 @directus-labs/liquidjs-operation？

在项目目录运行 npm install @directus-labs/liquidjs-operation，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：liquidjs（10\.20\.1）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @directus-labs/liquidjs-operation 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/directus-labs\_\_liquidjs-operation 是否存在。

### @directus-labs/liquidjs-operation 支持 ESM 还是 CommonJS？

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

### @directus-labs/liquidjs-operation 可以商用吗？

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

### @directus-labs/liquidjs-operation 的下载量有多少？

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

### @directus-labs/liquidjs-operation 还在维护吗？

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

