我在今天更新node_modules
(和Vue到v3.3)后开始出现这些错误。
Vue 3.3、WebPack(非Vite)和VS Code Volar正在使用。这个项目是巨大的。
每个包含<script setup lang="ts">
的*.vue
文件都包含import { defineProps, defineEmits } from 'vue'
。它以前工作得很好,现在仍然编译和工作得很好。Eslint也成功通过。
但是现在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[]): { [K in keyof Readonly<{ [key in PropNames]?: any; }>]: Readonly<{ [key in PropNames]?: any; }>[K]; };
<PP extends ComponentObjectPropsOptions<...> = ComponentObjectPropsOptions<...>>(props: PP): { [K in keyof Readonly<...>]: Readonly<...>[K]; };
<TypeProps>(): DefineProps<...>;
}
现在每个*.vue
文件在VS Code中都被标记为红色,这很烦人。
你知道该去哪里解决这个问题吗?
1条答案
按热度按时间5lhxktic1#
这是因为'defineProps'与编译器宏冲突。删除导入。
如果构建不起作用,请确保您在package.json中安装了“eslint-plugin-vue”版本8及以上。
添加
到**.eslintrc.js文件的env**部分。