【问题标题】:export 'default' (imported as 'vue') was not found in 'vue'在“vue”中找不到导出“默认”(导入为“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(而是通过索引拼接出来)。

标签: vue.js visual-studio-code quasar


【解决方案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]

无需任何导入即可工作

谢谢大家。

【讨论】:

    猜你喜欢
    • 2020-12-25
    • 2021-04-26
    • 2021-01-10
    • 2021-01-10
    • 2021-07-08
    • 2021-10-25
    • 2021-03-04
    • 2018-07-21
    相关资源
    最近更新 更多