# @boltffi/runtime 中文文档

规范地址：https://npmcn.com/package/%40boltffi/runtime/

版本：0\.32\.1
npm 元数据更新时间：2026-10-30T11:36:00.345Z
中文译文更新时间：2026-11-08T10:33:18.586Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40boltffi/runtime
原文对照：https://npmcn.com/package/%40boltffi/runtime/?lang=original
项目主页：https://boltffi.dev/
源码仓库：https://github.com/boltffi/boltffi

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

- 包体积（解压后）：236 kB，30 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-02-17T08:40:16.985Z
- 最新版本发布：2026-10-30T11:35:59.923Z
- 近 30 天下载量：191687（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：34（近 12 个月 34 个）

## 中文简介

BoltFFI 的 WASM 运行时间生成了类型脚本绑定

## 安装

```sh
npm install @boltffi/runtime
```

也可以使用：`pnpm add @boltffi/runtime`、`yarn add @boltffi/runtime`、`bun add @boltffi/runtime`

## README

# @ boltffi/ 运行时间

WASM 运行时间 [博尔特福尔](https://boltffi.dev/) 生成类型脚本绑定 .

## 安装

```bash
npm install @boltffi/runtime
```

## 使用量

这个软件包由BoltFFI所生成的WASM捆绑在内部使用. 您不需要直接安装它 - 运行时它与您的生成的软件包捆绑 `boltffi pack wasm`。 。 。 .

### 示例

当你跑的时候 `boltffi pack wasm`,生成的 TypeScript 使用此运行时间 :

```typescript
import { distance } from 'your-package';

const d = distance({ x: 0, y: 0 }, { x: 3, y: 4 });
console.log(d); // 5.0
```

## 调用 JavaScript 的不可靠依赖

导出的 Rust 函数可以使用依赖性, 如 `uuid` 联合国 `v4` 财务报告和审定财务报表 `js` 特性。 该函数仍然使用 `#[boltffi::export]`。无 `#[wasm_bindgen]` 属性需要在 BoltFFI API 上.

`boltffi pack wasm` 已编译的文物中的元数据 在剥离或优化之前运行匹配的正弦 CLI。 这个 生成的软件包中包含 BoltFFI 绑定和依赖 JavaScript 绑定,连接到相同的Wasm实例. 货物原件 保存文物,包括再次包装时 `--no-build`。 。 。 .

在包错误中安装精确的 CLI 版本 `cargo install wasm-bindgen-cli --version =VERSION --locked`。现有 可选择可执行文件 `BOLTFFI_WASM_BINDGEN` 或者说 `targets.wasm.wasm_bindgen_cli` 内 `boltffi.toml`。没有原站点的模块 元数据不需要此工具 。 TypeScript 汇编需要此运行时间 而对于节点入口, `@types/node` 在输出位置安装 父目录可以解析它们.

生成的加载器支持节点同步初始化,一个同步 初始化、 浏览器获取和捆绑器 。 一个 JavaScript 胶水模块拥有 一个瓦斯姆的例子。 再次同时或失败后初始化 依赖启动被拒绝 。 本地和内置的 JavaScript 片断为 包含; npm 导入和动态计算模块路径被拒绝 包装时.

依赖启动时可以使用函数, 因此 JavaScript 可以调回 进入BoltFFI。 计算常数在启动后被读取,并在 初始化完成 。 他们的Rust转换之后也可以使用JavaScript.

这一一体化目标 `wasm32-unknown-unknown` 与非共享内存和 `panic=abort`线条,JSPI,和恐慌的解开 都在这份合同之外. 主机必须提供JavaScript APIs的依赖呼叫;浏览器 DOM APIs, 例如,普通节点程序中不可用。 未抓取的 Java 脚本 例外和 Rust 陷阱保留他们的 Web Assembly语义。 他们没有 成为博尔特FFI `Result` 值或使实例安全地重复使用. 如果投票或取消未来,所有待决的博尔特FFI期货都会拒绝 而那个案子的Aync经理 停止投票。 丢弃失败实例 .

BoltFFI 合成出口仍然需要 `Send` 未来 原子弹 `JsFuture` 不满足这个约束。 JavaScript 任务可以完成等待的频道 正如Wasm Interop演示所显示的.

## 文档

-   [BoltFFI 文档](https://boltffi.dev/docs)
-   [WASM 指南](https://boltffi.dev/docs/getting-started#use-in-typescript)

## 许可证

麻省理工学院

## 常见问题

### @boltffi/runtime 是什么？

BoltFFI 的 WASM 运行时间生成了类型脚本绑定

### 如何安装 @boltffi/runtime？

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

### @boltffi/runtime 支持 TypeScript 吗？

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

### @boltffi/runtime 支持 ESM 还是 CommonJS？

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

### @boltffi/runtime 可以商用吗？

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

### @boltffi/runtime 的下载量有多少？

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

### @boltffi/runtime 还在维护吗？

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

