本篇内容主要讲解“如何用Vue代码实现按需加载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Vue代码实现按需加载”吧!概念(懒加载)当打包构建应用时,javascript包会变得非常大,
本篇内容主要讲解“如何用Vue代码实现按需加载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Vue代码实现按需加载”吧!
概念(懒加载)
当打包构建应用时,javascript包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,嗯,这样就更加高效了。
场景
xxx项目作为一个单页面应用,采用组件化的开发模式,每次启动首页都会加载全部组件,但此时只是访问了首页而已,就造成了大量组件污染加载的情况。
目的
只在访问当前页面时加载对应组件,避免页面组件全部加载。(按需加载)
实现
app.vue
<template> <div id="app"> <router-view/> </div></template>
router.js
import Vue from 'vue'import VueRouter from 'vue-router'import 'babel-polyfill'import {Promise} from 'es6-promise-polyfill'import App from '../components/app'// 定义路由,每个路由映射一个组件。const Routers = [ { path: '/', // 路径 component: resolve => require(['../components/member/index], resolve) // 异步加载组件 }, { path: '/login', component: resolve => require(['../components/member/login'], resolve) }]const RouterConfig = { routes: Routers}// 创建router实例,并传递路由配置。const router = new VueRouter(RouterConfig);// 创建并挂载根实例。new Vue({ el:'#app', router, // 将h作为createElement的别名是一个通用惯例。 render: h =>(App) })
注意:
require()函数接受两个参数。第一个参数是一个数组,表示所依赖的模块,例如['moduleA','moduleB'],第二个参数是一个回调函数,当前面指定的模块都加载成功后,它将被调用。加载的模块会以参数形式传入该函数,从而在回调函数内部使用这些模块。
示例代码中使用了异步的方式加载组件,其中require函数负责异步引入将要渲染的组件,而resolve则负责异步回调渲染组件。
babel-polyfill:对Promise进行转码编译;
npm install --save babel-polyfill
es6-promise-polyfill 解决Promise兼容性问题。
npm install --save es6-promise-polyfill
到此,相信大家对“如何用Vue代码实现按需加载”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
--结束END--
本文标题: 如何用Vue代码实现按需加载
本文链接: https://www.lsjlt.com/news/344557.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-22
2024-05-21
2024-05-21
2024-05-21
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0