类型“typeof ...”上不存在属性“use”,类型“typeof”上不存在属性“extend”

Posted

技术标签:

【中文标题】类型“typeof ...”上不存在属性“use”,类型“typeof”上不存在属性“extend”【英文标题】:Property 'use' does not exist on type 'typeof..., Property 'extend' does not exist on type 'typeof 【发布时间】:2021-01-09 21:51:57 【问题描述】:

我是第一次使用 TypeScript 构建我的 vue 应用程序,我一直被这个 Property 'xxx' does not exist on type 'typeof 问题困扰。我研究过类似的问题,但似乎都没有。我在"vue": "^3.0.0-0""typescript": "~3.9.3"

我安装了 vuetify,所以在我的 vuetify.ts 中我遇到了第一个错误(类型 'typeof 上不存在属性'use')

import Vue from 'vue'
import Vuetify from 'vuetify'

Vue.use(Vuetify)

export default new Vuetify(
)

我在 main.ts 中传递它

createApp(App)
  .use(store)
  .use(router)
  .use(vuetify)
  .mount('#app')

然后在我的 App.vue 上,另一个错误在哪里(类型 'typeof 上不存在属性'extend')我有

export default Vue.extend(
  name: 'App',

  components: 
    //
  ,

  data: () => (
    //
  )
)

我也遵循了here推荐的配置

【问题讨论】:

请在问题正文中包含确切的错误消息。 @JaredSmith 完成。希望这会有所帮助 “类型'typeof”上不存在属性'use' typeof什么?我敢打赌,错误消息不包含未封闭的报价。请附上确切错误消息。 没有必要向 OP 询问错误消息。他们提供了版本信息,清楚地指出了 v3 中的 API 更改。请参阅 jeremy castelli 的回答 感谢 @Ada 我现在切换回 Vue 2,因为 vue3 还不稳定 【参考方案1】:

Vue 3 刚刚发布。 并且不再有Vue.use() 方法。 现在正确的方法是像你做的那样

createApp(App)
  .use(store)
  .use(router)
  .use(vuetify) // there
  .mount('#app')

Vue.extend() 也一样,它不再存在了。

不知道 vuetify 现在是否已经为 vue 3 做好了准备,可能文档还没有更新。

您应该将 Vue 降级到 2.X 版或开始学习 vue 3 并等待所有文档都准备好

【讨论】:

以上是关于类型“typeof ...”上不存在属性“use”,类型“typeof”上不存在属性“extend”的主要内容,如果未能解决你的问题,请参考以下文章

类型“typeof BrowserModule”上不存在属性“withServerTransition”。)

类型“typeof File”离子打字稿上不存在属性“moveFile”

“typeof Schema”类型上不存在属性“virtual”

TSLINT 错误:“typeof React”类型上不存在属性“组件”

属性 '_env_' 在类型'Window & typeof globalThis 上不存在 - React / Typescript 错误

在 TSX 文件中:“typeof React”类型上不存在属性“createRef”