功能开关
启用或禁用基座的各项功能
类型定义
interface FeaturesConfig {
/**
* 启用自动更新(默认 true)
*/
updater?: boolean;
/**
* 启用数据库(默认 true)
*/
database?: boolean;
/**
* 启用 Sentry 错误监控(默认 false)
*/
sentry?: boolean;
}默认值
| 功能 | 默认值 |
|---|---|
updater | true |
database | true |
sentry | false |
配置示例
features: {
updater: true, // 启用自动更新
database: true, // 启用 SQLite 数据库
sentry: false, // 禁用 Sentry
},updater - 自动更新
启用后:
- 应用启动时自动检查更新
- 设置页显示"检查更新"按钮
- 可使用
useUpdaterhook
禁用后:
- 不检查更新
- 设置页不显示更新相关 UI
useUpdaterhook 返回空操作
// 禁用自动更新
features: {
updater: false,
},自动更新需要在 tauri.conf.json 中配置 updater 端点才能正常工作。
database - SQLite 数据库
启用后:
- 自动初始化 SQLite 数据库
- 执行基座迁移和应用迁移
- 可使用数据库相关 API
禁用后:
- 不初始化数据库
- 数据库相关 API 将抛出错误
// 禁用数据库
features: {
database: false,
},禁用数据库后,useSetting、useAppState 等 hooks 将无法使用。
sentry - 错误监控
启用后:
- 初始化 Sentry SDK
- 自动捕获未处理异常
- 可使用
captureError、setUser等 API
禁用后:
- 不加载 Sentry SDK
- 错误监控 API 为空操作
// 启用 Sentry
features: {
sentry: true,
},
sentry: {
dsn: 'https://xxx@sentry.io/xxx',
tracesSampleRate: 0.1,
},启用 Sentry 需要同时配置 sentry.dsn,否则不会初始化。
完整示例
export const config = {
features: {
updater: true,
database: true,
sentry: process.env.NODE_ENV === 'production',
},
// 如果启用 sentry,需要配置
sentry: {
dsn: import.meta.env.VITE_SENTRY_DSN,
tracesSampleRate: 0.1,
},
};