# @fastly/js-compute 中文文档

规范地址：https://npmcn.com/package/%40fastly/js-compute/

版本：4\.3\.0
npm 元数据更新时间：2026-11-13T19:36:42.000Z
中文译文更新时间：2026-11-14T11:17:16.013Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：69.2 MB，403 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：13 个
- peer 依赖：typescript \>=5\.9
- 首次发布：2021-07-28T12:10:38.456Z
- 最新版本发布：2026-11-13T19:36:41.198Z
- 近 30 天下载量：1209354（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：177（近 12 个月 33 个）

## 中文简介

用于构建 JavaScript 应用程序的 JavaScript SDK 和 CLI [快速计算](https://www.fastly.com/products/edge-compute/serverless)。 。 。 .

## 安装

```sh
npm install @fastly/js-compute
```

也可以使用：`pnpm add @fastly/js-compute`、`yarn add @fastly/js-compute`、`bun add @fastly/js-compute`

## README

# @ fastly/js- 计算

用于构建 JavaScript 应用程序的 JavaScript SDK 和 CLI [快速计算](https://www.fastly.com/products/edge-compute/serverless)。 。 。 .

![npm version](https://img.shields.io/npm/v/@fastly/js-compute) ![npm downloads per month](https://img.shields.io/npm/dm/@fastly/js-compute)

## 开始

我们建议使用 [快速的 CLI](https://github.com/fastly/cli) 创建、构建和部署 JavaScript 快速计算服务, 如 [在快速开发者枢纽上描述](https://developer.fastly.com/learning/compute/)。 。 。 .

[JavaScript 快速计算服务的详细文档](https://developer.fastly.com/learning/compute/javascript/) 也可在快速开发者枢纽上查阅.

## 使用量

### Java 脚本示例

快速开发者枢纽收藏有 [例 JavaScript 应用程序](https://developer.fastly.com/solutions/examples/javascript/)。 。 。 .

以下是一个小示例应用程序:

```js
/// <reference types="@fastly/js-compute" />

async function app(event) {
    const request = event.request;
    return new Response(`You made a request to ${request.url}`)
}

addEventListener("fetch", event => {
  event.respondWith(app(event));
});
```

### CLI 旗帜和配置

CLI通常被 `build` 在您的工程中定义的脚本 `package.json` 剧本.

```json
{
  "scripts": {
    "build": "js-compute-runtime src/index.js bin/main.wasm"
  }
}
```

援引《国家倡议》的内容如下:

```sh
js-compute-runtime [OPTIONS] <input-js-file> <output-wasm-file>
```

选项可以在命令行上指定,或者添加到项目的持续配置文件中. CLI 将按以下顺序搜索从当前目录开始的配置 :

-   A 类 `fastlycompute` 属性在 `package.json`
-   `.fastlycomputerc.json`
-   `fastlycompute.config.js`

单击这里查看完整列表

CLI 将按以下顺序搜索从当前目录开始的配置 :

-   A 类 `fastlycompute` 属性在 `package.json`
-   `.fastlycomputerc` (JSON或YAML) (英语)
-   `.fastlycomputerc.json`, (中文(简体) ), `.fastlycomputerc.yaml`, (中文(简体) ), `.fastlycomputerc.yml`
-   `.fastlycomputerc.js`, (中文(简体) ), `.fastlycomputerc.mjs`
-   `fastlycompute.config.js`, (中文(简体) ), `fastlycompute.config.mjs`

如果在命令行和配置文件中同时定义一个选项,则命令行选项优先.

#### 支持的选项

| 配置密钥 | CLI 旗帜 | 类型 | 说明 |
| :-- | :-- | :-- | :-- |
| `disableAOT` | `--disable-aot` | `boolean` | 禁用 AOT 编译 |
| `aotCache` | `--aot-cache` | `string` (路径) | 指定 AOT 缓存文件的路径 |
| `enableHttpCache` | `--enable-http-cache` | `boolean` | 启用 [HTTP 缓存钩头 API](https://www.fastly.com/documentation/guides/concepts/cache/#modifying-a-request-as-it-is-forwarded-to-a-backend) |
| `enableExperimentalHighResolutionTimeMethods` | `--enable-experimental-high-resolution-time-methods` | `boolean` | 快速启用实验( Now) 方法 |
| `disableTopLevelAwait` | `--disable-top-level-await` | `boolean` | 将应用程序编译为经典脚本而不是模块. 以及顶级等待,这禁用严格的默认模式和 `import.meta` |
| `enableStackTraces` | `--enable-stack-traces` | `boolean` | 启用堆栈跟踪 |
| `excludeSources` | `--exclude-sources` | `boolean` | 不要在堆栈跟踪中包含源 |
| `debugIntermediateFiles` | `--debug-intermediate-files` | `string` (路径) | 在目录中输出中间文件 |
| `debugBuild` | `--debug-build` | `boolean` | 使用 SDK 运行时间的调试构建 |
| `engineWasm` | `--engine-wasm` | `string` (路径) | 指定自定义的 Wasm 引擎( 高级) |
| `wevalBin` | `--weval-bin` | `string` (路径) | 指定自定义 Weval 二进制( 高级) |
| `env` | `--env` | `string | object | array` | 设置环境变量,可能继承当前环境. 多个变量可以被逗号分隔(例如 --env ENV VAR,VERRIDE=val) |

注: `env` 字段为添加剂。 在命令行值上定义的值附加,而不是替换任何配置文件中定义的值.

#### 示例命令行选项

```sh
js-compute-runtime --enable-aot --enable-stack-traces --env=LOG_LEVEL=debug ./src/index.js ./bin/main.wasm
```

#### 示例 `.fastlycomputerc.json`

```json
{
  "enableAOT": true,
  "enableStackTraces": true,
  "env": {
    "LOG_LEVEL": "debug"
  }
}
```

#### 示例 `package.json`

```json
{
  "name": "my-fastly-service",
  "type": "module",
  "dependencies": {
    "@fastly/cli": "^13.0.0"
  },
  "scripts": {
    "build": "js-compute-runtime ./src/index.js ./bin/main.wasm",
    "dev": "fastly compute serve",
    "deploy": "fastly compute publish"
  },
  "fastlycompute": {
    "enableAOT": true,
    "enableStackTraces": true,
    "env": {
      "LOG_LEVEL": "debug"
    }
  }
}
```

### API 文档

JavaScript SDK 的 API 文档位于 [https://js-compute-reference-docs.edgecompute.app 页面存档备份,存于互联网档案馆](https://js-compute-reference-docs.edgecompute.app/)。 。 。 .

## 警卫

如果你发现任何安全问题,请看 [快速安全报告页面](https://www.fastly.com/security/report-security-issue) 或发送电子邮件到 : `security@fastly.com`

我们计划公布任何发现的安全弱点 [GitHub 安全脆弱性指南](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/about-coordinated-disclosure-of-security-vulnerabilities#best-practices-for-maintainers)请注意,本文所述与快速维护开放源码软件安全问题有关的通信不同于 [快速安全咨询](https://www.fastly.com/security-advisories)。 。 。 .

## 更改日志

可见更改日志 [这里](https://github.com/fastly/js-compute-runtime/blob/main/CHANGELOG.md)。 。 。 .

## 许可证

[Apache-2.0 有 LLVM 例外](https://npmcn.com/package/%40fastly/js-compute/LICENSE)

## 常见问题

### @fastly/js-compute 是什么？

用于构建 JavaScript 应用程序的 JavaScript SDK 和 CLI 快速计算。 。 。 \.

### 如何安装 @fastly/js-compute？

在项目目录运行 npm install @fastly/js-compute，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 js-compute、js-compute-runtime，可以用 npx js-compute 直接运行。

### @fastly/js-compute 支持 TypeScript 吗？

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

### @fastly/js-compute 支持 ESM 还是 CommonJS？

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

### @fastly/js-compute 可以商用吗？

@fastly/js-compute 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @fastly/js-compute 的下载量有多少？

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

### @fastly/js-compute 还在维护吗？

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

