应用可以按照功能分割成不同的功能模块,这种模块默认会全部被加载,就是用户在使用我们的应用的时候,浏览器会下载应用里的所有的代码,里面包含了所有的模块。
我们可以设置一下,让应用延迟加载暂时不需要的模块,这些模块只有在用户访问了特定路由地址的时候才会被加载进来。
使用 canLoad 类型的守卫,可以控制模块的加载,也就是可以判断一些条件再决定是否要加载需要的模块。
模块也可以预加载,应用在加载了需要的模块以后,它会在后台加载剩下的所有的可以被预加载的模块。这个预加载的策略我们也可以自己去定制一个。
在这个策略里可以定制一下,哪些可以被预加载,哪些不能被预加载。