问题遇到的现象和发生背景
按照官网教程使用 vue3 的 globalProperties 扩展全局属性,因为使用的是 ts,要声明文件,结果一声明就报错了,一开始以为是自己项目的问题,新建了一个空项目也报错
官网教程:https://v3.cn.vuejs.org/guide/typescript-support.html#%E4%B8%8E-options-api-%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8
问题相关代码,请勿粘贴截图
declare module '@vue/runtime-core' {
export interface ComponentCustomProperties {
$validate: (data: object, rule: object) => boolean
}
}
运行结果及报错内容
src/components/HelloWorld.vue:33:10
TS2305: Module '"../../node_modules/vue/dist/vue"' has no exported member 'defineComponent'.
31 |
32 | <script lang="ts">
> 33 | import { defineComponent } from 'vue';
| ^^^^^^^^^^^^^^^
34 |
35 | export default defineComponent({
36 | name: 'HelloWorld',
我的解答思路和尝试过的方法
尝试更换过 ts 版本,按网上说的,从4.1 换到 4.3不行,尝试更换 vue-cli 版本,已经是最新也不行
我想要达到的结果
怀疑是官方提供的写法不适用于在 vue-cli 中,跟 vue-cli 中某些声明文件有冲突,是否有其它写法?