You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

类型'ServiceWorkerRegistration'不存在'sync'属性问题咨询

解决TypeScript报错:ServiceWorkerRegistration不存在'sync'属性

这个问题是因为TypeScript默认的DOM类型定义里没有包含Background Sync API的相关类型,以下是几种可行的解决办法:

方法一:手动补充类型声明

在项目的src目录下新建一个typings.d.ts文件,写入以下代码:

interface ServiceWorkerRegistration {
  sync: SyncManager;
}

interface SyncManager {
  register(tag: string): Promise<void>;
  getTags(): Promise<string[]>;
  unregister(tag: string): Promise<boolean>;
}

TypeScript会自动识别这个全局类型声明,补上ServiceWorkerRegistration缺失的sync属性定义。

方法二:安装完整Web API类型包

如果项目依赖的Web API类型不全,执行下面的命令安装包含Background Sync类型的包:

npm install @types/web --save-dev

安装完成后,TypeScript就能直接识别sync属性,无需手动编写类型声明。

方法三:配置tsconfig.json

如果已经安装了@types/web,需要在tsconfig.json的compilerOptions中添加该类型引用:

{
  "compilerOptions": {
    "types": ["web"]
  }
}

完成上述操作后重新编译项目,registration.sync.register()这类代码的类型错误就会消失。

内容的提问来源于stack exchange,提问作者mr._hayatt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:10:23