可能原因
- https://stackoverflow.com/questions/76170422/intellij-using-typescript-5-0-3-to-compile-vue-project-instead-of-vue-typescript
- https://youtrack.jetbrains.com/issue/WEB-60063/Introduce-Volar-support-for-Vue-to-fix-a-problem-with-Typescript-5.0-in-Vue-SFC#focus=Comments-27-7057634.0-0
- 这里和我的问题一样: https://youtrack.jetbrains.com/issue/WEB-52908/Vue3-script-setup-doesnt-recognize-compiler-macros-such-as-defineEmits-and-defineProps
- 同样的问题: https://youtrack.jetbrains.com/issue/WEB-56403/Vue-3-Setup-Vue-TypeScript-Service-false-errors-not-suppressed-in-Problems-Project-Errors-tab
找到/想到的解决方法
降级IDE- 降级TypeScript
使用Volar(不知道是个什么, 去看一下)
最后解决的方式
- 使用IDEA自带的TypeScript(我的IDEA版本为
2022.3.3
, 对应的ts版本为4.8.4
)Languages & Frameworks -> TypeScript
- 其中
TypeScript
下拉框选择Bundled
- 删除
.idea
目录并且删除根目录下的*.iml
文件, 重新选择项目(先把项目移除列表) - 在
src
目录下添加vite-env.d.ts
declare module '*.vue' {
import type { DefineComponent } from 'vue'
const component: DefineComponent<{}, {}, any>
export default component
}
只是一种可能的解决方式, 不一定有效