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

qco9c6ql  于 2022-11-17  发布在  Vue.js
关注(0)|答案(2)|浏览(211)

我正在Express和Vue js中开发一个应用程序,我得到了这个:
未捕获的语法错误:请求的模块'/node_modules/.vite/deps/vue.js?v= 460 a75 c2'未提供名为'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')

我的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>
k4ymrczo

k4ymrczo1#

如果您使用的是Vue 2.7和3.x,您是否介意先尝试import { createApp } from 'vue',然后再使用createApp(App).use(axios).use(vueAxios).mount('#app')?由于导入性质,它应该可以正常工作。
另一种选择:

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

const app = createApp(App)
app.use(axios)
app.use(vueAxios)
app.mount('#app')
hfyxw5xn

hfyxw5xn2#

您没有写您正在使用的Vue版本,但基于您正在使用createApp这一事实,看起来您正在使用Vue 3。
在这种情况下,错误是正确的--在模块vue中没有名为Vue的导出。Vue 3删除了默认导出,因此您不能再编写import Vue from 'vue',并且在包中没有名为Vue的导出,因此import { Vue } from 'vue'也无效。
您可能正在尝试按照以前的教程安装Vue插件。在Vue 3中,您应该编写createApp().use(plugin),而不是编写Vue.use(plugin)

相关问题