VSCode 给出以下警告
检测到 Vetur 已启用。考虑禁用 Vetur 并
@volar-plugins/vetur改为使用。
这个是来做什么的?我需要做什么才能将其关闭
node_modules今天更新(Vue 到 v3.3)后我开始收到这些错误。
使用的是 Vue 3.3、WebPack(不是 Vite)和 VS Code Volar。工程量巨大。
每个*.vue带有.<script setup lang="ts"> import { defineProps, defineEmits } from 'vue'以前工作得很好,现在仍然可以编译并工作得很好。埃斯林特也顺利通过。
但现在 VS Code在每个文件中都会突出显示导入的defineProps和。defineEmits错误是:
Import declaration conflicts with local declaration of 'defineProps'.ts(2440)
(alias) function defineProps<PropNames extends string = string>(props: PropNames[]): { [K in keyof Readonly<{ [key in PropNames]?: any; }>]: Readonly<{ [key in PropNames]?: any; }>[K]; } (+2 overloads)
import defineProps
const defineProps: {
<PropNames extends string = string>(props: PropNames[]): { …Run Code Online (Sandbox Code Playgroud) 我今天开始了一个小型副项目(向经典的贪吃蛇游戏致敬),一切都工作正常,但 VS Code 在 Vue 组件中显示两个错误,并且它似乎使用了过时版本的导入类和组件。
最初我从一个类开始,但后来我添加了一个实际上只公开公共属性(通过 getter 和 setter)和方法的接口。但是使用此类的组件仍然认为该类需要作为参数,并抱怨私有属性在该类型上不可用。
我不确定该错误是来自 VS Code 本身还是来自 Vue3 和 Typescript 推荐的 Volar 扩展。
该代码可作为公共 github 存储库提供: https: //github.com/onyx-blackbird/vue-snake/blob/master/src/components/GameGrid.vue 红色的行是:#23 和 #122写作时。如果我同时更新文件,这里有两行(在这两种情况下,snake 都是 ISnake,并且方法和组件都期望 ISnake):
const { food, placeFood } = useFood(maxX, maxY, snake);
<SnakeFigure :snake="snake" :is-game-over="isGameOver"></SnakeFigure>
Run Code Online (Sandbox Code Playgroud)
这里引用的类和接口: https://github.com/onyx-blackbird/vue-snake/blob/master/src/model/Snake.ts