跳到主要内容

DevToolsOptions

Defined in: connector-types.ts:146

RxDB DevTools 配置选项。

Properties​

allowOpaqueOrigin?​

optional allowOpaqueOrigin?: boolean;

Defined in: connector-types.ts:205

是否允许在 opaque origin(location.origin === 'null')下用 '*' 广播消息。

Default Value​

false

Remarks​

连接器一律以 location.origin 为 targetOrigin。sandbox iframe、data:/blob: 文档的 origin 是不透明的,location.origin 求值为字符串 'null', postMessage(msg, 'null') 会静默失败 —— 消息不到、也没有任何报错。

默认策略是显式失败:DevToolsConnector.init 打一次 warning 并保持停用, 而不是偷偷退回 '*' 把消息广播给同页所有 frame。确实需要在 sandbox 里调试时, 把本项设为 true 显式接受该风险。


capabilities?​

optional capabilities?: DevToolsCapability;

Defined in: connector-types.ts:175

授予 DevTools 的命令能力档。

Default Value​

'full'

Remarks​

默认 'full' 是为了不破坏已发布的扩展面板(它依赖 SWITCH/CREATE/DELETE_BRANCH)。 生产环境应显式降到 'readonly' 或 'none' —— 页面消息总线对同源脚本完全开放, 档位决定了伪造命令最多能做到什么。语义见 DevToolsCapability。


enabled?​

optional enabled?: boolean;

Defined in: connector-types.ts:164

是否启用连接器。

Default Value​

true

Remarks​

false 时 DevToolsConnector.init 直接返回:不注册 message 监听、 不订阅 RxDB 事件、不挂全局 helper。生产构建里关掉它即可完全消除 「页面消息总线上出现实体数据」这条暴露面。


maxBufferSize?​

optional maxBufferSize?: number;

Defined in: connector-types.ts:153

握手完成前缓存的事件条数上限,超出按 FIFO 丢弃最旧的。

Default Value​

100

Throws​

RangeError 构造时传入非正安全整数


mutationPolicy?​

optional mutationPolicy?: DevToolsMutationPolicy;

Defined in: connector-types.ts:190

页面是否为本次运行打开 v2 数据面的写路径。

Default Value​

'omit'

Remarks​

与 DevToolsOptions.capabilities 是两个决策者的开关,不能合成一个: 档位说的是「面板被允许下达多重的命令」,本项说的是「页面愿不愿意被写盘」。 合一之后,为了让面板能列目录而调到 'full',会顺带把删除、上传、建目录一起打开。

默认 'omit':接上 provider 只意味着可读,写入必须 owner 显式表态。 被拒时对端收到的是 provider_unsupported——与「没有这个领域」同形, 不泄漏页面开了哪些写能力(见 DevToolsMutationPolicy)。


providers?​

optional providers?: DevToolsProviderOptions;

Defined in: connector-types.ts:215

原生宿主(Electron / Tauri)的 provider 装配端口。

Remarks​

缺省时连接器按浏览器自动探测(OPFS files + browser settings + runtime: browser)。 桌面宿主必须显式给出:原生文件后端(nativeFiles)、settings 的语义 kind(sqlite), 与显示用 runtime。省略任何一项都不做「猜一个」的兜底,而是退回浏览器形态。


transport?​

optional transport?: DevToolsConnectorTransport;

Defined in: connector-types.ts:225

连接器的传输层;缺省为浏览器实现(window 总线 + MessageChannel 私有端口)。

Remarks​

Tauri / 其它无共享 window 的宿主必须显式给一个宿主传输(如 invoke/listen), 否则 connector 仍按浏览器发 window.postMessage,面板侧永远收不到。缺省保持浏览器行为, 不破坏既有三框架 demo。