首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有类型记录的Vue3路由器:缺少RouteConfig

带有类型记录的Vue3路由器:缺少RouteConfig
EN

Stack Overflow用户
提问于 2020-06-17 20:43:05
回答 2查看 11.9K关注 0票数 6

我从@ vue /cli $> vue create my-project创建了一个新的vue项目,激活了Typescript选项和路由器选项,并使用$>vue add vue-next升级到了vue3测试版。

现在,$>npm run serve失败了

代码语言:javascript
复制
ERROR in /home/auser/dev/my-project/src/router/index.ts(1,10):
1:10 Module '"../../node_modules/vue-router/dist/vue-router"' has no exported member 'RouteConfig'.

  > 1 | import { RouteConfig, createRouter, createWebHistory } from 'vue-router';
      |          ^
    2 | import Home from '../views/Home.vue'

整个文件没有那么长,稍后将使用RouteConfig:

代码语言:javascript
复制
//index.ts
import { RouteConfig, createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue'

const routes: Array<RouteConfig> = [
{
  path: '/',
  name: 'Home',
  component: Home
},
{
  path: '/about',
  name: 'About',
  // route level code-splitting
  // this generates a separate chunk (about.[hash].js) for this route
  // which is lazy-loaded when the route is visited.
  component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
}
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})

export default router

Q:正确的RouteConfig类型是什么,这是createRouter所需要的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-29 09:59:33

(因为这是预发布版:我使用的是vue路由器@4.0.0-alpha.13.13。)

我遇到了同样的事情。根据视图-router.d.ts,路由数组的正确类型是RouteRecordRawRouteConfig用于createRouter参数本身。

但是,如果我将数组输入为RouteRecordRaw,那么我遇到了RouteRecordRaw定义的问题,它是由其他几个看起来没有导出的类型组成的,所以输入数组会导致比它解决的问题更多的问题。

我怀疑会出现更好的模式,但目前我将路由数组输入为any,这是可行的。

票数 4
EN

Stack Overflow用户

发布于 2020-10-13 15:06:53

你可以这样用。

代码语言:javascript
复制
import type { RouteRecordRaw } from 'vue-router';

const router = createRouter({
  history: createWebHashHistory(),
  routes: basicRoutes as RouteRecordRaw[]
});
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62438045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档