component:(resolve) => require是什么意思?

  • A+
所属分类:vue

{  // 进行路由配置,规定'/'引入到home组件
  path: '/',  component: resolve => require(['../pages/home.vue'], resolve),  meta: {    title: 'home'
  }
}]

这是异步加载组件,当你访问 / ,才会加载 home.vue。

路由懒加载的一种写法

也可以用import

{  path: '/',
  component: () => import('../pages/home.vue'),
  meta: {
    title: 'home'
  }
}

vue-router中,require代替import解决vue项目首页加载时间过久的问题

vue的路由配置文件(routers.js),一般使用import引入的写法,当项目打包时路由里的所有component都会打包在一个js中,在项目刚进入首页的时候,就会加载所有的组件,所以导致首页加载较慢,

而用require会将component分别打包成不同的js,按需加载,访问此路由时才会加载这个js,所以就避免进入首页时加载内容过多。

require: 运行时调用,理论上可以运用在代码的任何地方,
import:编译时调用,必须放在文件开头

懒加载:component: resolve => require(['@/view/index.vue'], resolve)
用require这种方式引入的时候,会将你的component分别打包成不同的js,加载的时候也是按需加载,只用访问这个路由网址时才会加载这个js

非懒加载:component: index
如果用import引入的话,当项目打包时路由里的所有component都会打包在一个js中,造成进入首页时,需要加载的内容过多,时间相对比较长

如果使用import方式,还需要安装一个插件
https://blog.csdn.net/hong10086/article/details/89684772

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: