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

为ESLint配置添加Service Worker与IndexedDB类型以解决报错

解决PWA配置中TypeScript类型触发ESLint报错的问题

以下是几个针对性的解决步骤,按优先级尝试:

  • 确保TypeScript加载Web Worker相关类型声明
    这些ServiceWorkerGlobalScope、FetchEvent等属于Web Worker环境的API类型,需要在tsconfig.json的compilerOptions.lib中添加WebWorker(配合对应ES版本):

    {
      "compilerOptions": {
        "lib": ["ESNext", "WebWorker"]
      }
    }
    

    保存后重启TypeScript语言服务,让配置生效。

  • 告诉ESLint当前文件是Service Worker环境
    ESLint默认不会识别Service Worker环境,所以会认为这些全局类型不存在。有两种处理方式:

    1. 在你的Service Worker TS文件顶部添加环境注释:
      /* eslint-env serviceworker */
      
    2. 在项目根目录的ESLint配置文件(如.eslintrc.json)中全局配置Service Worker环境:
      {
        "env": {
          "serviceworker": true
        }
      }
      
  • 确认类型依赖完整
    如果你的TypeScript版本较旧(低于4.5),可能需要手动安装Web Worker的类型包:

    npm install @types/webworker --save-dev
    

    新版本TypeScript已经内置了这些类型,这步主要针对老项目。

  • 检查ESLint与TypeScript插件的兼容性
    确保@typescript-eslint/eslint-plugin和@typescript-eslint/parser的版本一致,且配置正确。典型的ESLint配置示例:

    {
      "parser": "@typescript-eslint/parser",
      "plugins": ["@typescript-eslint"],
      "extends": [
        "eslint:recommended",
        "plugin:@typescript-eslint/recommended"
      ]
    }
    

    版本不匹配可能导致类型识别异常,建议统一升级到最新兼容版本。

内容的提问来源于stack exchange,提问作者5war00p

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 01:01:01