Uncaught TypeError: Cannot read properties of undefined (reading 'extend') after upgrade vue to 3.x

Uncaught TypeError: Cannot read properties of undefined (reading 'extend') after upgrade vue to 3.x

今天我将我的 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)

我是从网上搜索的,好像是vue 3 did not support using extend to load third party component。我应该怎么做才能解决这个问题?是否可以使用 vue 3 代码来执行与 vue 2 相同的操作?如何调整我的 Vue 2 代码?这是带有扩展的 vue 2 代码,如下所示:

export default Vue.extend( {
  template ,
  data : ()=>({})
})

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

import { defineComponent } from 'vue';

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


喜欢 dumentation:

main.js:

import Vue from 'vue'
import App from './App.vue'

import vuetify from '@/plugins/vuetify' // path to vuetify export


Vue.config.productionTip = false

new Vue({
  vuetify,
  render: h => h(App),
}).$mount('#app')

在 src/plugins/vuetify.js 中创建一个文件:

import Vue from 'vue'
import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css'

Vue.use(Vuetify)

const opts = {}

export default new Vuetify(opts)

如果 toastr 库出现此错误,此解决方案适用于您:

在我的构建 json.

我在导入 toastr 库 之前导入了 jQuery 之后,同样的问题为我解决了
So please import toastr library after jQuery