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

在Laravel中集成Vue 3时遇‘vue__WEBPACK_IMPORTED_MODULE_0__.default is undefined’错误

解决Laravel中Vue 3的"Uncaught TypeError: vue__WEBPACK_IMPORTED_MODULE_0__.default is undefined"错误

错误原因

你安装的是Vue 3,但app.js中使用的是Vue 2的语法。Vue 3采用ES模块导出,不再提供默认的Vue构造函数,因此import Vue from 'vue'会返回undefined,触发后续的类型错误。

修复步骤

1. 修改app.js适配Vue 3语法

将原有的Vue 2风格代码替换为Vue 3的写法:

方式一(保留require导入组件)

import { createApp } from 'vue'
require('./bootstrap'); 

// 创建Vue应用实例
const app = createApp({})

// 注册全局组件
app.component('mosque-component', require('./components/MosqueComponent.vue').default)
app.component('prayer-component', require('./components/PrayerComponent.vue').default)
app.component('time-component', require('./components/TimeComponent.vue').default)

// 挂载到指定DOM元素
app.mount('#content')

方式二(推荐使用ES模块导入组件)

import { createApp } from 'vue'
import './bootstrap'
// 直接导入组件
import MosqueComponent from './components/MosqueComponent.vue'
import PrayerComponent from './components/PrayerComponent.vue'
import TimeComponent from './components/TimeComponent.vue'

const app = createApp({})

app.component('mosque-component', MosqueComponent)
app.component('prayer-component', PrayerComponent)
app.component('time-component', TimeComponent)

app.mount('#content')

2. 重新编译前端资源

在项目根目录运行以下命令,重新编译app.js:

npm run dev

如果需要实时监听文件变化自动编译,使用:

npm run watch

3. 验证组件文件格式

确保你的.vue组件文件是Vue 3兼容的格式,比如单文件组件的script部分可以使用:

<script>
export default {
  // 组件逻辑
}
</script>

或者Vue 3的<script setup>语法:

<script setup>
// 组件逻辑
</script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:25:56