You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3引入vue-flash-message报错:Uncaught TypeError: t is not a constructor

解决Vue3中使用vue-flash-message出现'Uncaught TypeError: t is not a constructor'的问题

问题原因

你当前安装的@smartweb/vue-flash-message版本大概率是适配Vue2的,而你的项目采用Vue3的createApp初始化方式,两者不兼容导致构造函数类型错误。

解决方案

1. 安装适配Vue3的插件版本

卸载当前版本,安装专门针对Vue3的分支版本:

npm uninstall @smartweb/vue-flash-message
npm install @smartweb/vue-flash-message@next

2. 修正main.js中的导入和使用方式

Vue3版本的插件导入方式有变化,调整代码如下:

import { createApp } from 'vue'
import App from './App.vue'
import { createFlashMessage } from '@smartweb/vue-flash-message';
import router from './router'
import store from './store'

const app = createApp(App);
// 使用createFlashMessage创建实例并挂载
app.use(createFlashMessage());
app.use(store)
app.use(router)
app.mount('#app')

3. 验证生效

启动项目后,若不再抛出构造函数错误,即可按照插件文档在组件中使用,示例:

// 在组件内调用消息提示
this.$flashMessage.show('测试消息', 'success');

内容的提问来源于stack exchange,提问作者dann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 22:10:29