【问题标题】:TS2304: Cannot find name 'RTCErrorEvent'TS2304:找不到名称“RTCErrorEvent”
【发布时间】:2022-04-22 13:17:32
【问题描述】:

我正在使用 Quasar、typescript 和 Vue 实现一个 WebRTC 应用程序。这段代码在 WebStorm 中不会产生任何错误(使用项目的 eslint 配置),我可以转到 DOM API 文件中的RTCErrorEvent 定义(lib.dom.d.ts):

  handleDataChannelError(error: RTCErrorEvent) {
    console.log('dataChannel.OnError:', error);
  }

但是,当我通过quasar dev 运行应用程序或尝试使用quasar build 构建它时,我收到错误TS2304: Cannot find name 'RTCErrorEvent'。通过 lint 任务 eslint --ext .js,.ts,.vue ./ 运行 esling 也不会产生任何错误。

我已经尝试this 安装@types/webrtc 和this(添加到quasar.d.ts),但没有任何效果。我查过了,node_modules/@types/webrtc 不包含这个类。

我的tsconfig.json:

  "extends": "@quasar/app/tsconfig-preset",
  "compilerOptions": {
    "target": "es2020",
    "lib": [
      "es2020",
      "dom"
    ],
    "baseUrl": "."
  }
}

在 Quasar CLI docs 中只能找到解释开发服务器如何工作的这一位...

使用 Dev Server ($ quasar dev) 进行开发时:

  • Babel,这样你就可以写 ES6 代码了
  • 用于 Vue SFC 的 Webpack + vue-loader(单文件组件)
  • 状态保持热重载
  • 状态保留编译错误覆盖
  • 使用 ESLint 在保存时进行 Lint
  • 来源地图
  • 如果您以移动应用为目标,请在设备模拟器(或连接到您的机器的真实手机)上进行开发
  • ...

我有什么明显的遗漏吗?我应该深入挖掘quasar.conf.js 还是babel.config.js?另外,有趣的是我无法在项目文件中找到lib.dom.d.ts 文件。如何检查 Quasar 开发服务器使用的 DOM API 版本/文件?

【问题讨论】:

    标签: typescript vue.js webrtc quasar


    【解决方案1】:

    您是否尝试过将webrtc 添加到tsconfig.json 的compilerOptions.types 属性中?

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 1970-01-01
      • 2022-01-20
      • 2017-08-11
      • 2017-08-23
      • 2017-11-03
      • 2019-12-24
      • 1970-01-01
      • 2017-11-26
      相关资源
      最近更新 更多