未捕获的错误:[vue-router] 路由配置中需要“路径”

Posted

技术标签:

【中文标题】未捕获的错误:[vue-router] 路由配置中需要“路径”【英文标题】:Uncaught Error: [vue-router] "path" is required in a route configuration 【发布时间】:2018-01-03 13:38:50 【问题描述】:

我正在关注the official example,但我不知道为什么会出现此 js 错误的空白页

vue-router.esm.js?fe87:10 Uncaught Error: [vue-router] "path" is required in a route configuration.

这是我的两页:

/:language/bar                     /:language/foo
+------------------+                  +-----------------+
| +---------+      |                  | +---------+     |
| | header  |      |                  | | header  |     |
| +---------+      |                  | +---------+     |
| +--------------+ |                  | +-------------+ |
| | bar          | |  +------------>  | | foo         | |
| |              | |                  | |             | |
| +--------------+ |                  | +-------------+ |
+------------------+                  +-----------------+

这就是我正在尝试的方式。

我的入口点 js 文件:

import Vue from 'vue';
import router from './router';

// import some components

let vm = new Vue(
    el: '#app',
    router,
    components: /*imported components*/,
);

vm.$language.current = vm.$route.params.language;

我的入口点 html

<body>
   <div id="app">
       <!-- this is the header, the common part -->
       <navbar fullname=''></navbar>

       <router-view></router-view>
   </div>
</body>

我的路由器

import Vue from 'vue';
import Router from 'vue-router';

// import foo and bar components

Vue.use(Router);

let routes = [
    
        path: '/:language',
        name: 'homepage',
        children: [
            
                path: 'foo',
                component: Foo
            ,
            
                path: 'bar',
                component: Bar
            ,
        ]
    
];

export default new Router(routes,);

我的 foo 组件

<template>
    <div>
        <h1>FOO</h1>
    </div>
</template>

<script>export default ;</script>

如何解决这个错误?

【问题讨论】:

你也应该为父级添加一个组件。 @Nora 你是对的你是对的你是对的!!谢谢!你可以添加一个答案,我会接受它 【参考方案1】:

注意: 1.尝试使用本地注册组件 2.对于嵌套路由器:

const router = new VueRouter(
  routes: [
     path: '/language/:id',
      component: language,
      children: [
        
          // Bar will be rendered inside language's <router-view>
          // when /language/:id/bar is matched
          path: 'bar',
          component: Bar
        ,
        
          // Foo will be rendered inside language's <router-view>
          // when /language/:id/foo is matched
          path: 'foo',
          component: Foo
        
      ]
    
  ]
)
    导出组件:
    export default 
      name: "Foo"
    ;

【讨论】:

【参考方案2】:

您还应该为父级添加一个组件。

【讨论】:

以上是关于未捕获的错误:[vue-router] 路由配置中需要“路径”的主要内容,如果未能解决你的问题,请参考以下文章

Vue-Router:Uncaught (in promise) 报错处理

带有firebase身份验证的vue路由器错误

Vue2 / vue-router / Laravel - 路由器视图未显示 Vue 组件

Vue 路由:未捕获类型错误:window.Vue.use 不是函数

未捕获的类型错误:无法使用“in”运算符在未定义的 vue 路由器中搜索“路径”

VueJS 3 / 路由器 / 带有推送的重定向:未捕获(承诺中)类型错误:无法读取未定义的属性(读取“推送”)