javascript - 如何修复 "the requested module does not provide an export named ' default'"?

标签 javascript html vue.js npm

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

import Vue from 'vue'
我得到这个:

Uncaught SyntaxError: The requested module '/node_modules/.vite/vue.js?v=6dba2ea6' does not provide an export named 'default'


我用谷歌搜索可能是由旧的 Vue 版本引起的,在我的 package.json 中,vue 版本是 3.2.6,但是
npm view vue version
返回 2.6.14,我尝试使用 Vue CLI 升级它
vue upgrade
但 npm 命令仍然返回 2.6.14
我希望你能帮助我,我做错了什么或者甚至不是版本问题?谢谢!

最佳答案

它不起作用的原因是 Vue 提供了 命名为 导出,而您尝试导入它,就好像它有一个 default导出。
制作 命名为 导入(您必须使用 命名 导出),您需要将要导入的导出名称括在大括号中,因此 {}Vue像这样:

import { Vue } from 'vue';
      // ^^^ name of export
它会工作
您想要做的事情是导入 vue,但它没有默认导出功能,或者在 vue 模块中未设置默认导出的内容。所以你必须通过添加花括号来选择名为 vue 的函数。
如果它有 一个 default导出函数,那么你的代码就可以工作了,在这种情况下你可以写任何东西来代替 vue如下所示:
import anyname from 'vue'
anyname是任何你想要的名字。

关于javascript - 如何修复 "the requested module does not provide an export named ' default'"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70475635/

相关文章:

javascript - react 错误 : TypeError: Cannot read property 'toLowerCase' of null

javascript - 从html点击事件中提取数据

javascript - HTML5 Canvas 圆显示滞后

html - 如何创建两个div元素,左边固定宽度,右边动态宽度

php - 移动设备中 100% 视口(viewport)宽度的问题?

javascript - 在 contenteditable 父 div 中的 div 上附加 keydown 事件监听器不起作用?

vue.js - Vue 子组件等待 Prop

javascript - 在 JavaScript 中使用函数式编程风格管理共享资源

javascript - 在 Javascript 中迭代元素数组时,并非每个元素的类都会更新

javascript - 如何在单元格5之后动态添加行vue.js