【发布时间】: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