【问题标题】:export 'default' (imported as Vue ) was not found in 'vue'在“vue”中找不到导出“默认”(作为 Vue 导入)
【发布时间】:2021-01-10 07:52:39
【问题描述】:

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

***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'

应用运行于:

index.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;

main.js

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import axios from "axios";
import "bootstrap/dist/css/bootstrap.css";

const base = axios.create({
    baseURL: "http://localhost:4000"
});

Vue.prototype.$http = base;
Vue.config.productionTip = false;
new Vue({
    router,
    render: h => h(App)
}).$mount("#app");

【问题讨论】:

  • 您是否安装了 Vue 作为依赖项?如果有,具体是怎样的?
  • 我用 npm install vue --save
  • 您安装的是 Vue 2 还是 Vue 3? Vue 最近发布了 3.0.0,它有不同的语法来初始化 Vue。这就是您可能对上述语法有疑问的原因。
  • 其实我在创建vue项目的时候选择了vue3 babel....
  • 起初,当我运行 npm run serve 时它工作正常。但是当我在这个项目中进行时,我遇到了这个错误,这就是我使用 npm 安装 vue 的原因,但后来我又遇到了同样的错误。

标签: vue.js vuejs3


【解决方案1】:

确保已安装所有依赖项。

例如。安装路由器

npm install vue-router@next --save

【讨论】:

    【解决方案2】:

    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');
    

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

    【讨论】:

      【解决方案3】:

      当你升级到 vue v3 时,应该将 vue-router 升级到 'vue-router/next' Offical website 并使用此代码来导入函数

      import { createRouter, createWebHistory } from 'vue-router'
      

      并删除

      Vue.use(VueRouter);
      

      【讨论】:

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