VueJS导入EventBus遇SyntaxError: ambiguous indirect export: default错误求助
解决Vue EventBus导入的语法错误问题
你的问题出在eventbus.js的导出写法上,错误的解构逻辑导致模块导出异常。
错误原因
原代码里export const { EventBus } = new Vue();试图从Vue实例中解构EventBus属性,但Vue实例本身并没有这个内置属性,相当于导出了一个不存在的变量,才触发了ambiguous indirect export: default错误。
两种修复方案
方案1:保持命名导出(兼容你现有导入写法)
修改eventbus.js为:
// ./eventbus.js import Vue from 'vue'; export const EventBus = new Vue();
直接把Vue实例赋值给EventBus并命名导出,App.vue和Competitor.vue里原来的import { EventBus } from './eventbus.js';写法无需改动,即可正常导入使用。
方案2:使用默认导出
如果偏好默认导出的方式,修改eventbus.js为:
// ./eventbus.js import Vue from 'vue'; export default new Vue();
对应的导入代码要去掉花括号,改为:
// App.vue 和 Competitor.vue 中 import EventBus from './eventbus.js';
两种方案任选其一即可解决你的导入错误问题。
内容的提问来源于stack exchange,提问作者FailX
相关产品推荐
相关产品推荐

