const Login = resolve => require(['@/components/Login'], resolve) //就不用import了
Vue.use(Router)
let router = new Router({
// mode: 'history',
routes: [ //根据这个遍历得到左边菜单
{
path: '/login',
name: '登录',
component: Login
},
-
懒加载也叫延迟加载,即在需要的时候进行加载,随用随载
在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,
造成进入首页时,需要加载的内容过多,延时过长,不利于用户体验,
运用懒加载可以将页面进行划分,按需加载页面,可以分担首页所承担的加载压力,减少加载用时。 -
一种代码分块的语法,使用 AMD 风格的 require
const Foo = resolve => require(['./Foo.vue'], resolve);
const router = new VueRouter({
routes: [
{ path: '/foo', component: Foo }
]
})
//router/index.js
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const router = new Router({
routes: [
{
mode: 'history',
path: '/home',
name: 'home',
component: resolve => require([URL], resolve),//懒加载
children: [
{
mode: 'history',
path: '/home/:name',
name: 'any',
component: resolve => require(['@/components/any'], resolve),//懒加载
},
]
},
{
mode: 'history',
path: '/my',
name: 'my',
component: resolve => require(['@/components/my'], resolve),//懒加载,
children: [
{
mode: 'history',
path: '/my/:name',
name: 'any',
component: resolve => require(['@/components/any'], resolve),//懒加载
},
]
},
{
path: '/login',
name: 'Login',
component: resolve=>require(['@/components/login'],resolve)
},
]
});
有一个问题:项目build以后,这个懒加载还有用吗?
-
懒加载也叫延迟加载,即在需要的时候进行加载,随用随载
在单页应用中,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,
造成进入首页时,需要加载的内容过多,延时过长,不利于用户体验,
运用懒加载可以将页面进行划分,按需加载页面,可以分担首页所承担的加载压力,减少加载用时。 -
一种代码分块的语法,使用 AMD 风格的 require
const Foo = resolve => require(['./Foo.vue'], resolve);
const router = new VueRouter({
routes: [
{ path: '/foo', component: Foo }
]
})
//router/index.js
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
const router = new Router({
routes: [
{
mode: 'history',
path: '/home',
name: 'home',
component: resolve => require([URL], resolve),//懒加载
children: [
{
mode: 'history',
path: '/home/:name',
name: 'any',
component: resolve => require(['@/components/any'], resolve),//懒加载
},
]
},
{
mode: 'history',
path: '/my',
name: 'my',
component: resolve => require(['@/components/my'], resolve),//懒加载,
children: [
{
mode: 'history',
path: '/my/:name',
name: 'any',
component: resolve => require(['@/components/any'], resolve),//懒加载
},
]
},
{
path: '/login',
name: 'Login',
component: resolve=>require(['@/components/login'],resolve)
},
]
});