Vue 全局变量破坏使用 TypeScript 构建

Posted

技术标签:

【中文标题】Vue 全局变量破坏使用 TypeScript 构建【英文标题】:Vue global variable breaking build with TypeScript 【发布时间】:2022-01-06 14:05:55 【问题描述】:

我有以下几点:

main.js

Vue.prototype.$someVariable = Vue.observable([] as Array<SomeClass>);

.vue 文件:

console.log(this.$someVariable); //this gets a red squiggly from intellisense

这不会构建,因为:

“ComponentRenderProxy”类型上不存在属性“$someVariable”...

但确实如此,不是吗?有人可以在这里帮助我吗,我错过了什么?如果有帮助,我很乐意提供更多数据,谢谢。

【问题讨论】:

【参考方案1】:

在项目根目录添加文件名some-variable.d.ts,内容如下:


import Vue from 'vue'

declare module 'vue/types/vue' 

  interface Vue 
    $someVariable: <theType>
  


【讨论】:

我这样做了,但我仍然遇到错误/智能感知问题 请重启编辑器和编译

以上是关于Vue 全局变量破坏使用 TypeScript 构建的主要内容,如果未能解决你的问题,请参考以下文章

typescript怎么定义全局的函数

在 React 中使用 Typescript

使用 TypeScript 向 Vue 3 添加全局属性

在基于vue-next-admin的Vue3+TypeScript前端项目中,为了使用方便全局挂载的对象接口

Vue JS typescript 组件找不到注入实例属性

为啥typescript不能直接引用第三方js库的全局变量?