# @bpmn-io/feelin 中文文档

规范地址：https://npmcn.com/package/%40bpmn-io/feelin/

版本：7\.0\.0
npm 元数据更新时间：2026-09-22T11:00:16.046Z
中文译文更新时间：2026-11-08T13:06:15.233Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40bpmn-io/feelin
原文对照：https://npmcn.com/package/%40bpmn-io/feelin/?lang=original
项目主页：https://github.com/bpmn-io/feelin#readme
源码仓库：https://github.com/bpmn-io/feelin

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

- 包体积（解压后）：390 kB，14 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>= 20\.12\.0
- 运行依赖：4 个
- 首次发布：2026-02-04T11:41:05.654Z
- 最新版本发布：2026-09-22T11:00:15.842Z
- 近 30 天下载量：206859（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

解析器和解释器

## 安装

```sh
npm install @bpmn-io/feelin
```

也可以使用：`pnpm add @bpmn-io/feelin`、`yarn add @bpmn-io/feelin`、`bun add @bpmn-io/feelin`

## README

# @bpmn-io/费林

[![CI](https://github.com/bpmn-io/feelin/actions/workflows/CI.yml/badge.svg)](https://github.com/bpmn-io/feelin/actions/workflows/CI.yml)

> \[注\] 这是叉子 [感觉](https://github.com/nikku/feelin)

A 类 [丹麦](https://www.omg.org/spec/DMN/) 用 JavaScript 编写的感觉解析器和解释器 . [**: arrow 右: 试试看**](https://nikku.github.io/feel-playground)。 。 。 .

## 使用量

```javascript
import {
  unaryTest,
  evaluate
} from '@bpmn-io/feelin';

unaryTest('1', { '?': 1 }); // { value: true, warnings: [] }
unaryTest('[1..end]', { '?': 1, end: 10 }); // { value: true, warnings: [] }

evaluate("Mike's daughter.name", {
  'Mike\'s daughter.name': 'Lisa'
}); // { value: 'Lisa', warnings: [] }

evaluate('for a in [1, 2, 3] return a * 2'); // { value: [ 2, 4, 6 ], ... }

evaluate('every rate in rates() satisfies rate < 10', {
  rates() {
    return [ 10, 20 ];
  }
}); // { value: false, warnings: [] }
```

来理解 `null` 因出错而转换、检查 `warnings` 返回:

```javascript
const { value, warnings } = evaluate('x');

console.log(warnings);
// [
//   {
//     message: "Variable 'x' not found",
//     type: 'NO_VARIABLE_FOUND',
//     position: { from: 0, to: 1 },
//   }
// ]
```

## 特征

-   [x] 承认完全感觉的语法
-   [x] 上下文敏感( 包括空格名称)
-   [x] 错误恢复
-   [x] 时间类型和业务
-   [x] 内置感觉函数
-   [ ] 满 [DMN TCK 电话](https://github.com/dmn-tck/tck) 遵守情况(参见:. [覆盖范围](https://npmcn.com/package/%40bpmn-io/feelin/docs/DMN_TCK.md)(中文(简体) )

## 构建和运行

```sh
# build the library and run all tests
npm run all

# spin up for local development
npm run dev

# execute FEEL tests in DMN TCK
npm run tck
```

## 相关

-   [长发](https://github.com/nikku/lezer-feel) - 感觉语言定义 [勒泽](https://lezer.codemirror.net/) 解析器系统
-   [场景](https://github.com/nikku/feel-playground) - 互动游乐场,学习感觉语言

## 许可证

麻省理工学院

## 常见问题

### @bpmn-io/feelin 是什么？

解析器和解释器

### 如何安装 @bpmn-io/feelin？

在项目目录运行 npm install @bpmn-io/feelin，或使用 pnpm add / yarn add / bun add。

### @bpmn-io/feelin 支持 TypeScript 吗？

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

### @bpmn-io/feelin 支持 ESM 还是 CommonJS？

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

### @bpmn-io/feelin 需要什么版本的 Node\.js？

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

### @bpmn-io/feelin 可以商用吗？

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

### @bpmn-io/feelin 的下载量有多少？

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

### @bpmn-io/feelin 还在维护吗？

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

