# @effectful/es 中文文档

规范地址：https://npmcn.com/package/%40effectful/es/

版本：2\.0\.13
npm 元数据更新时间：2026-05-23T16:42:17.246Z
中文译文更新时间：2026-11-13T09:19:43.544Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：18.7 kB，9 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2017-11-05T19:30:04.987Z
- 最新版本发布：2026-05-23T16:42:17.029Z
- 近 30 天下载量：6507（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：70（近 12 个月 5 个）

## 中文简介

使用 @ effectful/ core( 抽象界面) 的标准 JavaScript 效果

## 安装

```sh
npm install @effectful/es
```

也可以使用：`pnpm add @effectful/es`、`yarn add @effectful/es`、`bun add @effectful/es`

## README

# @ 无效/ es

基于 ECMAScript ASync 、 生成器和 aync 生成器函数语法超载.

该项目是一个用于整合新自定义计算效果的 Bail 插件 输入 Java 脚本.

默认情况下, 这是 EMAScript ASync 的又一执行 和同源函数,但也可以被扩展.

这个项目是 [效果 JS](https://github.com/awto/effectfuljs) 工具链.

## 为什么

以下是本地或其他转接器执行中无法获取的内容列表:

-   摘要 API - 可以为您的目的重新实施或修改
-   为更好的性能自定义混凝土 API
-   [持久性状态](https://github.com/awto/effectfuljs/tree/master/packages/es-persist)
-   隐性平行主义
-   用于静态分析的衍生程序图表

## 使用量

### 抽象界面

```
$ npm install --save-dev @effectful/es
$ npm install --save @effectful/es-rt
```

例如:

```json
{
  "plugins": ["@effectful/es/transform"]
}
```

或者说:

```
$ babel --plugins @effectful/es/transform index.js
```

默认情况下,它为 [@ 无效/ es- t](https://github.com/awto/effectfuljs/tree/master/packages/es-rt)。 。 。 .

它是EcmaScript async的抽象界面的实现, 发电机和同步函数。 界面尚没有文档. 默认执行相当小,可以作为 现在 有一个 `importRT` 通过一些超载混凝土选项 执行图书馆.

```json
{
  "plugins": [["@effectful/es/transform",{"importRT":"my-custom-effects"}]]
}
```

### 零配置转换

使用零配置 [贝亚尔- 插孔- macros](https://github.com/kentcdodds/babel-plugin-macros), (中文(简体) ), 或默认启用的任何其他工具(例如: [创建 Reat App](https://github.com/facebook/create-react-app) 从v2起.

在您想要转录的模块中导入“ @ effectful/ es/ macro” 模块 .

### 明确的具体执行

```
$ npm install --save-dev @effectful/es
$ npm install --save @effectful/es-inline-rt
```

这个. .

```json
{
  "plugins": [["@effectful/es/transform",{"inline":true}]]
}
```

执行速度快得多,但没有任何办法使任何事情过重.

其他选择包括:

-   `loose` - 喜欢 `inline` 但它也降低了一些 ECMAScript 兼容性 特性使生成的代码更小更快
-   `defunct` - 狦 `true` 状态被编码为数字, 有一个单一 函数可以在州间移动;否则,州是一个州过渡 函数回调
-   `topLevel` - 狦 `true` 将状态过渡函数移出原功能 函数的正文
-   `par` - 允许隐含的平行主义。 还没用 "入行","出行","上行"

有许多较低级别的选项,如: [配置( j)](https://github.com/awto/effectfuljs/blob/master/packages/core/src/config.js)。 。 。 .

它们的值可以使用 `all`, (中文(简体) ), `file`, (中文(简体) ), `pure`, (中文(简体) ), `effectful`, (中文(简体) ), `generators`, (中文(简体) ), `async`, (中文(简体) ), `asyncGenerators` 字段在插件选项中。 例如,使用通用JS模块代替 用于运行时间注射的默认ES:

```json
{
  "plugins": [["@effectful/es/transform",{"file":{"modules":"commonjs"}}]]
}
```

## 隐性平行主义

如果启用, 编译器将在起始位置找到"par"和"seq" ,用于在平行模式和相继模式 resp 之间切换.

例如:

```javascript
async function parDemo() {
  "par";
  const a = await A;
  const b = await B(a);
  const c = await C;
}
```

ESLint抱怨没有使用表达式,因此作为替代 这些指令 `profile` 函数需要单个 字符串字元参数 ("par"或"seq"):

```javascript
import * as M from "@effectful/es"

async function parDemo() {
  M.profile("par");
  const a = await A;
  {
    M.profile("seq")
    const b = await B;
    const c = await C;
  }
}
```

## 取消

默认情况下, 运行时间也会添加 `M.cancelSymbol` 每个属性 回到承诺。 这是一个功能,它试图停止执行 表示相应的同步函数。 取消将推广到 `await` 如果用这种方法表达,但是没有传播 给孩子们.

还有帮助器功能 `M.cancel` 它只是调用 `promise[M.cancelSymbol]()` 如果它存在的话.

## 自由主义

根据麻省理工学院(麻省理工学院)许可证的规定分发.

## 常见问题

### @effectful/es 是什么？

使用 @ effectful/ core\( 抽象界面\) 的标准 JavaScript 效果

### 如何安装 @effectful/es？

在项目目录运行 npm install @effectful/es，或使用 pnpm add / yarn add / bun add。

### @effectful/es 支持 TypeScript 吗？

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

### @effectful/es 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @effectful/es 可以商用吗？

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

### @effectful/es 的下载量有多少？

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

### @effectful/es 还在维护吗？

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

