异步组件介绍
在开发大型项目的时候,我们会把大型项目根据组件分割为小块代码,然后异步加载代码块,这样可以让首屏部分代码块优先加载,加快首屏渲染速度,其他代码块在需要的时候再加载,加载过的代码块会被缓存起来,以便复用重新渲染。
参考Vue官方文档异步加载.
异步组件声明
异步组件声明主要通过将 Vue.component() 方法的第二个声明为工厂函数,这个工厂函数会收到一个 resolve 回调,这个回调函数会在你从服务器得到组件定义的时候被调用。你也可以调用 reject(reason) 来表示加载失败。一个推荐的做法是将异步组件和 webpack 的 code-splitting 功能一起配合使用,下面的require是webpack支持的AMD异步加载方式,require方法的第二个参数是加载成功后的回调函数,我们在组件资源加载成功后,调用resolve完成组件注册
Vue.component('async-webpack-example', function (resolve,reject) {
// 这个特殊的 `require` 语法将会告诉 webpack
// 自动将你的构建代码切割成多个包,这些包
// 会通过 Ajax 请求加载
require(['./my-async-component']