# @fest-lib/lure 中文文档

规范地址：https://npmcn.com/package/%40fest-lib/lure/

版本：0\.1\.92
npm 元数据更新时间：2026-11-10T00:13:38.678Z
中文译文更新时间：2026-11-14T15:03:29.529Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40fest-lib/lure
原文对照：https://npmcn.com/package/%40fest-lib/lure/?lang=original
项目主页：https://github.com/fest-live/lur.e#readme
源码仓库：https://github.com/fest-live/lur.e

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

- 包体积（解压后）：3.3 MB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=20
- 运行依赖：5 个
- peer 依赖：@fest-lib/dom \>=0\.1\.0，@fest-lib/core \>=0\.1\.0，@fest-lib/object \>=0\.1\.0，@fest-lib/uniform \>=0\.1\.0，@fest-lib/style-lib \>=0\.1\.0
- 首次发布：2026-08-07T14:57:38.287Z
- 最新版本发布：2026-11-10T00:13:38.540Z
- 近 30 天下载量：2968（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：85（近 12 个月 85 个）

## 中文简介

fest-lib LUR.E:反应DOM(E/H/M/Q),形式绑定,上加,拖动

## 安装

```sh
npm install @fest-lib/lure
```

也可以使用：`pnpm add @fest-lib/lure`、`yarn add @fest-lib/lure`、`bun add @fest-lib/lure`

## README

# 卢尔埃

![LUR.E](https://npmcn.com/package/%40fest-lib/lure/assets/logo/logo-0.png)

[![npm](https://img.shields.io/npm/v/@fest-lib/lure?style=flat-square)](https://www.npmjs.com/package/@fest-lib/lure) [![MIT](https://img.shields.io/npm/l/@fest-lib/lure?style=flat-square)](https://npmcn.com/package/%40fest-lib/lure/LICENSE) [![stars](https://img.shields.io/github/stars/fest-live/lur.e?style=flat-square)](https://github.com/fest-live/lur.e)

`@fest-lib/lure` 2级反应DOM. 带子 `@fest-lib/object` 对应实际节点( e)`E`, (中文(简体) ), `H`, (中文(简体) ), `M`, (中文(简体) ), `Q`, (中文(简体) ), `T`, (中文(简体) ), `C`, (中文(简体) ), `S`),表单,叠加和拖动. 网络组件和CSS-in-JS(`S`)为一等.

```text
core · dom · object · uniform
 └── fest/lure        ← you are here
      └── icon · image · veela · fl-ui
```

## 安装

```bash
npm install @fest-lib/core @fest-lib/dom @fest-lib/object @fest-lib/uniform @fest-lib/lure
```

端点 : `core`, (中文(简体) ), `dom`, (中文(简体) ), `object`, (中文(简体) ), `uniform` (单位:千美元)`>=0.1.0`无害环境管理, `sideEffects: true`。 。 。 .

```ts
import { E, H, M, Q, T } from "@fest-lib/lure";
import { observe, iterated } from "@fest-lib/object";

const el = E("div", {
    attributes: { id: "app" },
    classList: new Set(["box"]),
    style: { padding: "8px" },
    on: { click: () => console.log("hi") }
}, ["Hello"]);
document.body.append(el as Node);
```

## 工厂地图

| API 密码 | 作用 |
| --- | --- |
| `E(tag | node, props, children)` | 创建/ 包裹 + 绑定 |
| `H\`页:1`/`汉字
" )\`

 | 解析 HTML 或标签模板 |
| `M(list, mapFn)` | 反应列表 + 节点 |
| `Q(selector, root?)` | 实时查询包 |
| `T(string | ref)` | 文本节点 |
| `C(ref, factory)` | 修改时互换节点 |
| `S\`说到做到 | 可控样式表 |

`H` 前缀 : `attr:*` 属性 · `prop:*` 财产 · `on:*` 编号 : `@*` 事件 · `ref` 编号 : `ref:*` 分配.

```ts
const items = iterated(["A", "B"]);
const list = H`<ul>${M(items, (x) => H`<li>${x}</li>`)}</ul>`;
items.push("C"); // DOM updates
```

## 触发和覆盖

用这些来代替临时的听众 :

```ts
import {
    withTriggerModifiers,
    bindOutsideDismiss,
    resolvePlacement,
    registerTransientOverlay
} from "@fest-lib/lure";
```

-   **触发设备** —— 说 `once` 编号 : `debounce` 编号 : `prevent` 编号 : `stop` 编号 : `capture` 编号 : `passive` 通过 `withTriggerModifiers` 财务报告和审定财务报表 `E({ on })` tu.
-   **绑定外部解雇** ——由编成的路径,面板根,出逃,自能清理.
-   **解析** 编号 : `placeOverlay` 与JS的反弹.
-   **注册** ——同型叠接关闭LIFO.

表单 : `formLink` 编号 : `bindForms` 编号 : `FormBinding` (单位:千美元)`bindFormControl`, (中文(简体) ), `formRef`) (中文(简体) ). 挂载寿命周期为选入( N)`bindWhileConnected`) (中文(简体) ).

```ts
import { bindDraggable } from "@fest-lib/lure";
bindDraggable(target, () => console.log("drag end"));
```

## 还在包裹里

OPFS / 文件帮助者 (`pickFile`, (中文(简体) ), `saveFile`,可减值资产绑定),剪贴板,历史,滚动条,语音输入,主题/色彩引擎. 子路径 : `@fest-lib/lure/markdown-assets`联合来文十: `jsxFactory` → `createElement` (单位:千美元)`@fest-lib/lure/src/lure/node/jsx-runtime`) (中文(简体) ).

## 工作空间

```bash
cd modules/projects/lur.e
npm test                 # linker, interaction, placement, overlay-host, trigger-core, form-binding
npm run demo
npm run build
npm run publish
```

类型doc : `npm run docs:md`。许可证: [麻省理工学院](https://npmcn.com/package/%40fest-lib/lure/LICENSE)。 。 。 .

## 常见问题

### @fest-lib/lure 是什么？

fest-lib LUR\.E:反应DOM\(E/H/M/Q\),形式绑定,上加,拖动

### 如何安装 @fest-lib/lure？

在项目目录运行 npm install @fest-lib/lure，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@fest-lib/dom（\>=0\.1\.0）、@fest-lib/core（\>=0\.1\.0）、@fest-lib/object（\>=0\.1\.0）、@fest-lib/uniform（\>=0\.1\.0）、@fest-lib/style-lib（\>=0\.1\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @fest-lib/lure 支持 TypeScript 吗？

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

### @fest-lib/lure 支持 ESM 还是 CommonJS？

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

### @fest-lib/lure 需要什么版本的 Node\.js？

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

### @fest-lib/lure 可以商用吗？

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

### @fest-lib/lure 的下载量有多少？

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

### @fest-lib/lure 还在维护吗？

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

