vue按需加载实例详解


Posted in Javascript onSeptember 06, 2019

vue-router配置路由,使用vue的异步组件技术,可以实现按需加载。这种方式下一个组件生成一个js文件

用例:

{
path: '/promisedemo',   name: 'PromiseDemo',   component: resolve => require(['../components/PromiseDemo'], resolve)
}

es提案的import() (推荐)

webpack官方文档:webpack中使用import()

vue官方文档:路由懒加载(使用import())

用例:

// 下面2行代码,没有指定webpackChunkName,每个组件打包成一个js文件。 const ImportFuncDemo1 = () => import('../components/ImportFuncDemo1') const ImportFuncDemo2 = () => import('../components/ImportFuncDemo2') // 下面2行代码,指定了相同的webpackChunkName,会合并打包成一个js文件。 // const ImportFuncDemo = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '../components/ImportFuncDemo') // const ImportFuncDemo2 = () => import(/* webpackChunkName: 'ImportFuncDemo' */ '../components/ImportFuncDemo2') export default new Router({   routes: [     {       path: '/importfuncdemo1',       name: 'ImportFuncDemo1',       component: ImportFuncDemo1     },     {       path: '/importfuncdemo2',       name: 'ImportFuncDemo2',       component: ImportFuncDemo2     }   ] })

webpack提供的require.ensure()

vue-router配置路由,使用webpack的require.ensure技术,也可以实现按需加载。

这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

举例如下:

{   path: '/promisedemo',   name: 'PromiseDemo',   component: resolve => require.ensure([], () => resolve(require('../components/PromiseDemo')), 'demo') }, {   path: '/hello',   name: 'Hello',   // component: Hello   component: resolve => require.ensure([], () => resolve(require('../components/Hello')), 'demo') }

以上就是本次介绍的全部知识点内容,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
总结一些js自定义的函数
Aug 05 Javascript
JavaScript包装对象使用介绍
Aug 29 Javascript
AngularJS内建服务$location及其功能详解
Jul 01 Javascript
Javascript实现倒计时(防页面刷新)实例
Dec 13 Javascript
简单实现jQuery级联菜单
Jan 09 Javascript
jQuery实现遍历复选框的方法示例
Mar 06 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
vue和webpack打包项目相对路径修改的方法
Jun 15 Javascript
vue实现div拖拽互换位置
Jul 29 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 Javascript
vue开发中遇到的问题总结
Apr 07 Javascript
代码解析React中setState同步和异步问题
Jun 03 Javascript
详解Nuxt.js中使用Element-UI填坑
Sep 06 #Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
Sep 06 #Javascript
Nuxt使用Vuex的方法示例
Sep 06 #Javascript
vue中input的v-model清空操作
Sep 06 #Javascript
nuxt框架中对vuex进行模块化设置的实现方法
Sep 06 #Javascript
layui 表格操作列按钮动态显示的实现方法
Sep 06 #Javascript
基于Vue和Element-Ui搭建项目的方法
Sep 06 #Javascript
You might like
php 使用post,get的一种简洁方式
2010/04/25 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
javascript实现拖放效果
2015/12/16 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
第九章之路径分页标签与徽章组件
2016/04/25 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
AngularJS入门教程之路由机制ngRoute实例分析
2016/12/13 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
js实现搜索栏效果
2018/11/16 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
[47:26]完美世界DOTA2联赛 LBZS vs Forest 第二场 11.07
2020/11/09 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
Python 的描述符 descriptor详解
2016/02/27 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python使用matplotlib实现绘制自定义图形功能示例
2018/01/18 Python
Python贪心算法实例小结
2018/04/22 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
巴西网上药房:onofre
2016/11/21 全球购物
英国文胸专家:AmpleBosom.com
2018/02/06 全球购物
施工资料员的岗位职责
2013/12/22 职场文书
鲜果饮品店创业计划书
2014/01/21 职场文书
跟单业务员岗位职责
2014/03/08 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js