配置
void.config.ts 控制应用类型推断、资源推断与部署行为。本页汇总最常用的配置项与 CLI 命令。
预计阅读 3 分钟
import { defineConfig } from 'void/config';
export default defineConfig({
inference: {
appType: 'void',
},
routing: {
notFound: '404-page',
},
});
inference
| 选项 | 类型 | 说明 |
|---|---|---|
inference.appType |
"void" | "framework" | "spa" | "static" |
应用类型。省略时自动检测。 |
inference.outputDir |
string |
静态应用类型的输出目录,相对项目根目录,默认 dist |
inference.database |
"d1" | "pg" | "mysql" |
数据库方言 |
详见支持的应用类型。
routing
{ "routing": { "notFound": "404-page" } }
当 Worker 处理未匹配的请求时,用 routing.notFound 指定要提供的生成器 404 页面。
deploy
export default defineConfig({
deploy: {
cloudflare: { mode: 'atomic' },
},
});
对于使用了自定义 Durable Objects 的 Worker,deploy.cloudflare.mode: 'atomic' 可以让每次部署都以原子方式进行。
auth
{ "auth": { "providers": ["email", "google", "github"] } }
提供方凭据来自 AUTH_<PROVIDER>_CLIENT_ID 与 AUTH_<PROVIDER>_CLIENT_SECRET。更复杂的配置请使用根级的 auth.ts 文件。
Cloudflare 绑定
export default defineConfig({
cloudflare: {
d1_databases: [{ binding: 'DB', database_name: 'my-app' }],
},
});
声明绑定后,Void 会使用它所指定的数据库 ID;本地开发期间 preview_database_id 优先。
CLI 命令速查
| 命令 | 作用 |
|---|---|
void init |
初始化项目(--tsconfig 合并类型配置,--github 生成 CI 工作流) |
void dev |
启动本地开发服务器 |
void build |
构建应用 |
void deploy |
构建、开通资源、执行迁移并部署 |
void connect <url> |
连接一个部署目标 |
void prepare |
生成 .void/ 类型 |
void info |
打印资源信息(含 Durable Object 重命名建议) |
void db generate |
生成 SQL 迁移 |
void db migrate |
在本地应用待处理的迁移 |
void db push |
不生成迁移文件,直接在本地应用 schema 变更 |
void db status |
检查 schema 漂移与待处理迁移 |
void db seed |
重置本地数据库并运行种子文件 |
void gen model |
生成表、路由与处理器脚手架 |
void env check |
校验环境变量(--remote 校验远端) |
void env types |
重新生成 .void/env.d.ts |
void secret put |
设置一个服务端密钥 |
void secret sync |
批量上传 dotenv 格式的密钥文件 |
void project status |
查看当前项目的部署状态 |
void project logs |
查看运行时日志 |
void project rollback |
回滚到之前的部署 |
void github connect |
连接仓库以启用托管的 GitHub 构建 |