在“vue”中找不到导出“默认”(导入为“vue”)
Posted
技术标签:
【中文标题】在“vue”中找不到导出“默认”(导入为“vue”)【英文标题】:export 'default' (imported as 'vue') was not found in 'vue' 【发布时间】:2021-12-16 13:00:01 【问题描述】:我是开发初学者(vuejs 和 quasar),我尝试运行此代码,但出现错误“export 'default' (imported as 'vue') is not found in 'vue'" 在我的编辑器中。我尝试了一切仍然不起作用...请帮助 我正在尝试从任务列表中删除任务。当我点击删除按钮时,我在 Chrome 中的 vueTools 中出现错误 “Uncaught TypeError: Cannot read properties of undefined (reading 'delete') at Store.deleteTask”。
import Vue from 'vue'
const state =
tasks :
'ID1':
name:'Go to shop',
completed:false,
dueDate:'2021/10/29',
dueTime:'18:02'
,
'ID2':
name:'Get bananas',
completed:false,
dueDate:'2021/10/30',
dueTime:'18:04'
,
'ID3':
name:'Get apples',
completed:false,
dueDate:'2021/10/31',
dueTime:'18:06'
,
const mutations =
updateTask(state, payload)
Object.assign(state.tasks[payload.id], payload.updates)
,
deleteTask(state, id)
Vue.delete(state.tasks, id)
const actions =
updateTask(commit, payload)
commit('updateTask', payload)
,
deleteTask( commit, id)
commit('deleteTask', id)
const getters =
tasks: (state) =>
return state.tasks
export default
namespaced: true,
state,
mutations,
actions,
getters
;
【问题讨论】:
出于好奇,如果从 'vue/dist/vue' 导入 Vue 会发生什么? 您可能安装了 Vue 3,它不再导出默认值。你不需要在 Vue 3 中使用Vue.delete
(而是通过索引拼接出来)。
【参考方案1】:
谢谢你的回答,我找到了。 首先,我尝试使用'splice',但是它不起作用。
我试过 'import Vue from 'vue/dist/vue' 我得到一个错误 'vue was not found in vue',所以我听从了一些建议,我使用 npm 重新安装 vue。终于成功了。
所以,在我的系统中重新安装 vue 后,我找到了 2 个解决方案
从 'vue/dist/vue' 导入 Vue Vue.delete(state.tasks, id) 这次成功了
还有
删除 state.tasks[id]
无需任何导入即可工作
谢谢大家。
【讨论】:
以上是关于在“vue”中找不到导出“默认”(导入为“vue”)的主要内容,如果未能解决你的问题,请参考以下文章
在 Vue 3 和 Laravel 的“vue”中找不到导出“默认”(导入为“Vue”)
Vue 2;在“firebase/app”中找不到导出“默认”(导入为“firebase”)
无法导出 vue-router:./src/router/index.js 中的警告“在 'vue-router' 中找不到导出'default'(导入为'VueRouter')