Vuejs路由器异步组件

时间:2020-05-07 09:42:58

标签: vue.js vue-router eslint async-components

我正在使用npm run serve运行vue应用程序。 我正在异步地将组件注入到路由,并且我认为这是一件奇怪的事情,当我什至不在该路径时,它向我显示有关另一路径的组件的错误,并说该文件丢失了……这是是的,它确实丢失了……但是当我在那条路上时,不是应该注入吗?看起来该组件已导入...

 const router = new VueRouter({
    routes: [ 
       { path: '/login', component: () => import('./pages/login.vue') },
       { path: '/register', component: () => import('./pages/register.vue') },
    ]

我在编译器中看到此错误

./src/main.js
Module not found: Error: Can't resolve './pages/register.vue' in '/home/daniel/work/someapp/frontend/src' 

并且路径是/ login,当然,当我创建注册页面时,所有路径都可以正常工作...只是不明白为什么在尚未加载路由时导入它。

1 个答案:

答案 0 :(得分:0)

你是对的。

在导航到具有错误导入路径的路由之前,您不会收到错误消息。

但是,您已经为登录和注册指定了/login

因此,如果寄存器组件导入路径不正确,则会出现错误。

这是一个简单的实现,它演示了相同的情况。

导航到类别时,将看到错误。但是家庭,新闻和列表将正常运行。

Edit Lazy loading routes with VueRouter