component:(resolve) => require

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:编译时调用,必须放在文件开头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值