不提供名为“Vue”的导出(位于 main.js?t=1667997788986:1:9)

Jes*_*ova 2 express vue.js

我正在用 Express 和 Vue js 开发一个应用程序,我得到了这个:

未捕获的语法错误:请求的模块 '/node_modules/.vite/deps/vue.js?v=460a75c2' 未提供名为 'Vue' 的导出(位于 main.js?t=1667997788986:1:9)

应用程序.vue 文件:

import {Vue, createApp } from 'vue'
import App from './App.vue'
import './assets/main.css'
import axios from 'axios'
import vueAxios from 'vue-axios'

Vue.use(axios, vueAxios)
createApp(App).mount('#app')
Run Code Online (Sandbox Code Playgroud)

我的 main.js 文件是:

<script>
    export default {
        data(){
            return{
                dataResponse: [],
            }
        },
        methods: {
            async getDataResponse(){
                const res = await axios.get(`${this.baseUrl}/catalog/home`)
                    console.log(response)
            }
        },
        created(){
            this.getDataResponse()
        }
        
    }
</script>
<template>
    <h1>Welcome</h1>
</template>
Run Code Online (Sandbox Code Playgroud)

ste*_*r42 5

您没有写出您正在使用哪个版本的 Vue,但基于您正在使用它的事实,createApp看起来您正在使用 Vue 3。

在这种情况下,错误是正确的——模块中没有名为 Vue 的导出vue。Vue 3 删除了默认的导出,所以你不能再写了,而且包里import Vue from 'vue'没有命名的导出,所以也是无效的。Vueimport { Vue } from 'vue'

您可能正在尝试遵循有关安装 Vue 插件的旧教程。在 Vue 3 中,Vue.use(plugin)您可以不写 ,createApp().use(plugin)而是写 。