fastly/js-compute-runtime · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
@fastly/js-compute
用于在 Fastly Compute 上构建 JavaScript 应用程序的 JavaScript SDK 和 CLI。
入门
我们建议使用 Fastly CLI 来创建、构建和部署 JavaScript Fastly Compute 服务,如 Fastly Developer Hub 上的说明。
JavaScript Fastly Compute 服务的详细文档 也可在 Fastly Developer Hub 上获取。
用法
JavaScript 示例
Fastly Developer Hub 提供了一个 JavaScript 示例应用程序集合。
以下是一个小型示例应用程序:
/// <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 通常通过项目 package.json 脚本中定义的 build 脚本调用。
{
"scripts": {
"build": "js-compute-runtime src/index.js bin/main.wasm"
}
}
CLI 的调用方式如下:
js-compute-runtime [OPTIONS] <input-js-file> <output-wasm-file>
选项可以在命令行中指定,也可以添加到项目的持久化配置文件中。 CLI 将从当前目录开始,按以下顺序搜索配置:
package.json中的fastlycompute属性.fastlycomputerc.jsonfastlycompute.config.js
点击此处查看完整列表
CLI 将从当前目录开始,按以下顺序搜索配置:
package.json中的fastlycompute属性.fastlycomputerc(JSON 或 YAML).fastlycomputerc.json,.fastlycomputerc.yaml,.fastlycomputerc.yml.fastlycomputerc.js,.fastlycomputerc.mjsfastlycompute.config.js,fastlycompute.config.mjs
如果某个选项同时在命令行和配置文件中定义,则命令行选项优先。
支持的选项
| 配置键 | CLI 标志 | 类型 | 描述 |
|---|---|---|---|
enableAOT | --enable-aot | boolean | 启用 AOT 编译以提升性能 |
aotCache | --aot-cache | string (path) | 指定 AOT 缓存文件的路径 |
enableHttpCache | --enable-http-cache | boolean | 启用 HTTP 缓存钩子 API |
enableExperimentalHighResolutionTimeMethods | --enable-experimental-high-resolution-time-methods | boolean | 启用实验性 fastly.now() 方法 |
enableExperimentalTopLevelAwait | --enable-experimental-top-level-await | boolean | 启用实验性顶层 await |
enableStackTraces | --enable-stack-traces | boolean | 启用堆栈跟踪 |
excludeSources | --exclude-sources | boolean | 不在堆栈跟踪中包含源文件 |
debugIntermediateFiles | --debug-intermediate-files | string (path) | 在目录中输出中间文件 |
debugBuild | --debug-build | boolean | 使用 SDK 运行时的调试构建 |
engineWasm | --engine-wasm | string (path) | 指定自定义 Wasm 引擎(高级) |
wevalBin | --weval-bin | string (path) | 指定自定义 weval 二进制文件(高级) |
env | --env | string | object | array | 设置环境变量,可能继承自当前环境。多个变量可以用逗号分隔(例如,--env ENV_VAR,OVERRIDE=val) |
NOTE: env 字段是累加的。命令行上定义的值会追加到配置文件中定义的值,而不是替换它们。
示例命令行选项
js-compute-runtime --enable-aot --enable-stack-traces --enable-top-level-await --env=LOG_LEVEL=debug ./src/index.js ./bin/main.wasm
示例 .fastlycomputerc.json
{
"enableAOT": true,
"enableStackTraces": true,
"enableTopLevelAwait": true,
"env": {
"LOG_LEVEL": "debug"
}
}
示例 package.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,
"enableTopLevelAwait": true,
"env": {
"LOG_LEVEL": "debug"
}
}
}
API 文档
JavaScript SDK 的 API 文档位于 https://js-compute-reference-docs.edgecompute.app。
安全
如果您发现任何安全问题,请参阅 Fastly 安全报告页面 或发送邮件至:security@fastly.com
我们计划按照 GitHub 安全漏洞指南 披露任何发现的安全漏洞。请注意,此处描述的与 Fastly 维护的开源项目相关的安全问题沟通,与 Fastly 安全公告 是不同的。
变更日志
变更日志可在 此处 找到。