export const constantRouterMap = [
{
path: '/login',
meta: { title: '登录', keepAlive: true },
component: (resolve) => require(['@/views/login'], resolve),
hidden: true
}
]
这是异步加载组件,当你访问 /login,才会加载 login.vue。路由懒加载的一种写法
resolve 就是 promise 的 resolve 回调,组件加载成功后调用
也可以用import
export const constantRouterMap = [
{
path: '/login',
meta: { title: '登录', keepAlive: true },
component: () => import(['@/views/login']),
hidden: true
}
]
vue-router中,require代替import解决vue项目首页加载时间过久的问题
vue的路由配置文件(routers.js),一般使用import引入的写法,当项目打包时路由里的所有component都会打包在一个js中,在项目刚进入首页的时候,就会加载所有的组件,所以导致首页加载较慢,
而用require会将component分别打包成不同的js,按需加载,访问此路由时才会加载这个js,所以就避免进入首页时加载内容过多。
require: 运行时调用,理论上可以运用在代码的任何地方,
import:编译时调用,必须放在文件开头