如何修复“请求的模块不提供名为‘默认’的导出”?

新手上路,请多包涵

我正在使用 JS 和 Vue.js 开发应用程序并在线出错:

 import Vue from 'vue'

我明白了:

未捕获的语法错误:请求的模块“/node_modules/.vite/vue.js?v=6dba2ea6”不提供名为“默认”的导出

我用谷歌搜索了可能是由旧的 Vue 版本引起的,在我的 package.json 中 vue 版本是 3.2.6,但是

npm view vue version

返回 2.6.14,我尝试用 Vue CLI 升级它

vue upgrade

但是 npm 命令仍然返回 2.6.14

我希望你能帮助我,我做错了什么或者甚至不是版本问题?谢谢!

原文由 Zixel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
1 个回答

它不起作用的原因是 Vue 提供了一个 命名 的导出,而您正试图导入它,就好像它有一个 default 导出一样。

要进行 命名 导入(必须使用 命名 导出),您需要将要导入的导出名称用大括号括起来,所以 {} 围绕 Vue 就像这样:

 import { Vue } from 'vue';
      // ^^^ name of export

它会起作用

你想做的是 import vue 但它没有默认的导出功能,或者默认导出的东西没有在 vue 模块中设置。所以你必须通过添加花括号来选择名为 vue 的函数。

如果它有 一个 default 导出函数,那么你的代码就可以工作,在这种情况下你可以写任何东西来代替 vue 如下所示:

 import anyname from 'vue'

anyname 是你想要的任何名字。

原文由 jass 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题