vue.js - [Vue警告] : Failed to resolve component: router-view

标签 vue.js vuejs3

我是 Vue.js 的新手,第一次接触 vue-router。 刚刚创建了一些文件,由于某种原因我看不到模板。编译成功,但在浏览器中出现以下错误:无法解析组件:router-view

main.js

import { createApp } from 'vue';
import VueRouter from 'vue-router';
import { store } from './store';
import App from './App.vue';
import AuthHandler from './components/AuthHandler';

const router = new VueRouter({
    mode: 'history',
    routes: [
        { path: '/oauth2/callback', component: AuthHandler }
    ]
});

const app = createApp(App)
app.use(router)
app.use(store)
app.mount('#app')

App.vue

<template>
  <div>
    <AppHeader></AppHeader>
    <router-view></router-view>
  </div>
</template>

<script>
import AppHeader from "./components/AppHeader";
export default {
  name: "App",
  components: {
    AppHeader
  }
};
</script>

组件/AuthHandler.vue

<template>
  <div>
    ... Please wait
  </div>
</template>

<script>
export default {
  name: "AuthHandler"
};
</script>

这是package.json

package.json

{
  "name": "images",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "axios": "^0.21.1",
    "core-js": "^3.6.5",
    "lodash": "^4.17.21",
    "qs": "^6.10.1",
    "vue": "^3.0.0",
    "vue-router": "^3.5.2",
    "vuex": "^4.0.2"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "@vue/compiler-sfc": "^3.0.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^7.0.0"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/vue3-essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

最佳答案

我通过以下方式解决了这个问题。我相信问题是在 vue/vue-router 版本上发生的。我希望这是正确的方法:-)

main.js

import { createApp } from 'vue';
import App from './App.vue';
// import VueRouter from './vue-router';
import { createWebHistory, createRouter } from "vue-router";
import { store } from './store';
import AuthHandler from './components/AuthHandler';

const router = createRouter({
    history: createWebHistory(),
    routes: [
        { path: '/about', component: AuthHandler }
    ]
});

const app = createApp(App)
app.use(router)
app.use(store)
app.mount('#app')
 

关于vue.js - [Vue警告] : Failed to resolve component: router-view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69057711/

相关文章:

javascript - 通过单击展开图像(vuetify)

javascript - 我如何在 Vuejs 中设置刷新时的旧输入值

javascript - 如何修复 Vue js 3 上的 "Vue packages version mismatch"错误

javascript - 如何在不重新加载组件的情况下更改vue中的查询参数

vue.js - 如何使用 Vite 从公共(public)目录导入 JSON 文件?

vue.js - SFC 中未定义的组件不会使用 Vue3 Router 显示?

javascript - 为什么这个 Vue 3 表单验证脚本失败?

laravel-5 - 使用 Laravel 和 Vue 实现前端的最佳实践

javascript - apollo-client 没有响应头

javascript - Vue.js 命名为 javascript 钩子(Hook)