在“vue”中找不到导出“default”(作为 Vue 导入)

cyp*_*her 7 vue.js vuejs3

我是这个 vue 的新手,当我尝试运行(npm runserve)时出现此错误:

***WARNING Compiled with 4 warnings
warning in ./src/main.js
"export 'default' (imported as 'Vue') was not found in 'vue'
warning in ./src/main.js
"export 'default' (imported as 'Vue') was not found in 'vue'
warning in ./src/main.js
"export 'default' (imported as 'Vue') was not found in 'vue'
warning in ./src/router/index.js
"export 'default' (imported as 'Vue') was not found in 'vue'
Run Code Online (Sandbox Code Playgroud)

应用程序运行于:

索引.js

***WARNING Compiled with 4 warnings
warning in ./src/main.js
"export 'default' (imported as 'Vue') was not found in 'vue'
warning in ./src/main.js
"export 'default' (imported as 'Vue') was not found in 'vue'
warning in ./src/main.js
"export 'default' (imported as 'Vue') was not found in 'vue'
warning in ./src/router/index.js
"export 'default' (imported as 'Vue') was not found in 'vue'
Run Code Online (Sandbox Code Playgroud)

main.js

import Vue from "vue";
import VueRouter from "vue-router";
import Home from "../views/Home.vue";
Vue.use(VueRouter);
const routes = [{
        path: "/home",
        name: "home",
        component: Home,
        meta: {
            requiresAuth: true
        }
    },
    {
        path: "/",
        name: "login",
        component: () =>
            import ("../views/login.vue")
    },
    {
        path: "/register",
        name: "register",
        component: () =>
            import ("../views/register.vue")
    }
];
const router = new VueRouter({
    mode: "history",
    base: process.env.BASE_URL,
    routes
});
router.beforeEach((to, from, next) => {
    if (to.matched.some(record => record.meta.requiresAuth)) {
        if (localStorage.getItem("jwt") == null) {
            next({
                path: "/"
            });
        } else {
            next();
        }
    } else {
        next();
    }
});
export default router;
Run Code Online (Sandbox Code Playgroud)

use*_*062 15

Vue v3:

import * as Vue from 'vue';
import * as VueRouter from 'vue-router';

const routes = [
  // TODO
];

const router = VueRouter.createRouter({
  history: VueRouter.createWebHistory(),
  routes,
});

Vue.createApp(App).use(router).mount('#app');
Run Code Online (Sandbox Code Playgroud)

https://next.router.vuejs.org/guide/migration/index.html


小智 3

当您升级到 vue v3 时,应将 vue-router 升级到 'vue-router/next' 官方网站 ,并使用此代码来导入函数

import { createRouter, createWebHistory } from 'vue-router'
Run Code Online (Sandbox Code Playgroud)

并删除

Vue.use(VueRouter);
Run Code Online (Sandbox Code Playgroud)