@ fastly/js- 计算
用于构建 JavaScript 应用程序的 JavaScript SDK 和 CLI 快速计算。 。 。 .
开始
我们建议使用 快速的 CLI 创建、构建和部署 JavaScript 快速计算服务, 如 在快速开发者枢纽上描述。 。 。 .
JavaScript 快速计算服务的详细文档 也可在快速开发者枢纽上查阅.
使用量
Java 脚本示例
快速开发者枢纽收藏有 例 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通常被 build 在您的工程中定义的脚本 package.json 剧本.
{
"scripts": {
"build": "js-compute-runtime src/index.js bin/main.wasm"
}
}
援引《国家倡议》的内容如下:
js-compute-runtime [OPTIONS] <input-js-file> <output-wasm-file>
选项可以在命令行上指定,或者添加到项目的持续配置文件中. CLI 将按以下顺序搜索从当前目录开始的配置 :
- A 类
fastlycompute属性在package.json .fastlycomputerc.jsonfastlycompute.config.js
单击这里查看完整列表
CLI 将按以下顺序搜索从当前目录开始的配置 :
- A 类
fastlycompute属性在package.json .fastlycomputerc(JSON或YAML) (英语).fastlycomputerc.json, (中文(简体) ),.fastlycomputerc.yaml, (中文(简体) ),.fastlycomputerc.yml.fastlycomputerc.js, (中文(简体) ),.fastlycomputerc.mjsfastlycompute.config.js, (中文(简体) ),fastlycompute.config.mjs
如果在命令行和配置文件中同时定义一个选项,则命令行选项优先.
支持的选项
| 配置密钥 | CLI 旗帜 | 类型 | 说明 |
|---|---|---|---|
disableAOT | --disable-aot | boolean | 禁用 AOT 编译 |
aotCache | --aot-cache | string (路径) | 指定 AOT 缓存文件的路径 |
enableHttpCache | --enable-http-cache | boolean | 启用 HTTP 缓存钩头 API |
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 字段为添加剂。 在命令行值上定义的值附加,而不是替换任何配置文件中定义的值.
示例命令行选项
js-compute-runtime --enable-aot --enable-stack-traces --env=LOG_LEVEL=debug ./src/index.js ./bin/main.wasm
示例 .fastlycomputerc.json
{
"enableAOT": true,
"enableStackTraces": 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,
"env": {
"LOG_LEVEL": "debug"
}
}
}
API 文档
JavaScript SDK 的 API 文档位于 https://js-compute-reference-docs.edgecompute.app 页面存档备份,存于互联网档案馆。 。 。 .
警卫
如果你发现任何安全问题,请看 快速安全报告页面 或发送电子邮件到 : [email protected]
我们计划公布任何发现的安全弱点 GitHub 安全脆弱性指南请注意,本文所述与快速维护开放源码软件安全问题有关的通信不同于 快速安全咨询。 。 。 .
更改日志
可见更改日志 这里。 。 。 .