未捕获的类型错误:将 vue 升级到 3.x 后无法读取未定义的属性(读取“扩展”)

Dol*_*hin 4 javascript vue.js vuejs3

今天我将我的 google chrome 扩展 vue 版本升级到 3.x,当运行该应用程序时,google chrome 扩展弹出控制台显示如下错误:

commons1.js:13392 Uncaught TypeError: Cannot read properties of undefined (reading 'extend')
    at Object../src/public/widget/index.js (commons1.js:13392)
    at __webpack_require__ (popup.js:23)
    at Object../src/popup/st.js (commons1.js:12725)
    at __webpack_require__ (popup.js:23)
    at Object../src/popup/app.js (commons1.js:12543)
    at __webpack_require__ (popup.js:23)
    at Object../src/popup/index.js (commons1.js:12687)
    at __webpack_require__ (popup.js:23)
    at popup.js:163
    at Function.__webpack_require__.O (popup.js:57)
Run Code Online (Sandbox Code Playgroud)

我在网上搜索知道似乎vue 3不支持使用extend来加载第三方组件。我应该怎么做才能解决这个问题?是否可以使用 vue 3 代码做与 vue 2 相同的事情?如何调整我的 vue 2 代码?这是带有扩展的 vue 2 代码,如下所示:

export default Vue.extend( {
  template ,
  data : ()=>({})
})
Run Code Online (Sandbox Code Playgroud)

Bou*_*him 6

在 vue 3 中,没有名为 的导出成员Vue,等效的正确代码Vue.extend是:

import { defineComponent } from 'vue';

export default defineComponent({
  template ,
  data : ()=>({})
})


Run Code Online (Sandbox Code Playgroud)