Laravel框架Blade模板无法加载Vue组件的编译报错问题求助
问题修复方案
报错的核心原因是Laravel Mix未配置.vue单文件组件的解析loader,按以下步骤操作即可修复:
- 第一步:安装Vue解析相关依赖
执行命令:
npm install vue-loader vue-template-compiler @vue/compiler-sfc --save-dev
- 第二步:修改webpack.mix.js配置
新增.vue()方法调用,告知Laravel Mix自动配置Vue文件解析规则:
mix.js('resources/js/app.js', 'public/js') .vue() // 新增该行配置 .sass('resources/sass/app.scss', 'public/css') .sourceMaps();
- 第三步:补全Vue实例挂载逻辑
你当前的app.js仅注册了组件,未初始化Vue实例也未指定挂载节点,需要修改app.js代码:
require('./bootstrap'); window.Vue= require('vue'); Vue.component('Home',require('./components/home.vue').default); // 新增Vue实例初始化代码 const app = new Vue({ el: '#app', });
同步修改Blade模板,添加Vue挂载节点:
<body class="antialiased"> <div id="app"> <Home></Home> </div> </body>
- 第四步:重新执行编译命令
运行npm run dev或npm run watch即可正常编译,报错会消失。
内容的提问来源于stack exchange,提问作者stackoverflow account
相关产品推荐
相关产品推荐

