vue 路由懒加载中给 Webpack Chunks 命名的方法


Posted in Javascript onApril 24, 2020

最早的路由定义方式

import Vue from 'vue'
import VueRouter from 'vue-router'

import Home from '../views/Home.vue'
import About from '../views/About.vue'
import Login from '../views/Login.vue'

Vue.use(VueRouter)

const routes = [
 { path: '/', name: 'Home', component: Home },
 { path: '/about', name: 'About', component: About },
 { path: '/login', name: 'Login', component: Login }
]

const router = new VueRouter({
 routes
})

export default router

进化版路由组件懒加载以及定义 chunk name

...
const routes = [
 {
  path: '/',
  name: 'Home',
  component: () => import(/* webpackChunkName: "Home" */ '../views/Home.vue')
 },
 {
  path: '/about',
  name: 'About',
  component: () => import(/* webpackChunkName: "About" */ '../views/About.vue')
 },
 {
  path: '/login',
  name: 'Login',
  component: () => import(/* webpackChunkName: "Login" */ '../views/Login.vue')
 }
]
...

这样写起来是完全没有问题的,但是路由很多的情况下,这里的代码量就会增加,我们能不能把「路径」与「组件」绑定的操作放大循环里面去做呢

const routeOptions = [
 { path: '/', name: 'Home' },
 { path: '/about', name: 'About' },
 { path: '/login', name: 'Login' }
]
const routes = routeOptions.map(route => {
	return {
		...route,
		component: () => import(`@/views/${route.name}.vue`)
	}
})
const router = new VueRouter({
 routes
})

这样就优雅了不少,但是我们的 chunk name 还没有加上去,这个时候就要用到 webpack 2.6.0 以上的占位符[ index ]和[ request ]

const routeOptions = [
 { path: '/', name: 'Home' },
 { path: '/about', name: 'About' },
 { path: '/login', name: 'Login' }
]

const routes = routeOptions.map(route => {
 return {
  ...route,
  component: () => import(/* webpackChunkName: "[request]" */ `../views/${route.name}.vue`)
 }
})

const router = new VueRouter({
 routes
})

build 一下就能看到想要的 chunk 了

vue 路由懒加载中给 Webpack Chunks 命名的方法

到此这篇关于在 vue 路由懒加载中给 Webpack Chunks 命名的文章就介绍到这了,更多相关vue 路由懒加载内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript 设计模式学习 Singleton
Jul 27 Javascript
JS 类型转换常见方法小结
May 31 Javascript
js日历功能对象
Jan 12 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
May 23 Javascript
jQuery针对各类元素操作基础教程
Aug 29 Javascript
jQuery插件fullPage.js实现全屏滚动效果
Dec 02 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
Dec 21 Javascript
jquery Ajax 全局调用封装实例详解
Jan 16 Javascript
30分钟快速实现小程序语音识别功能
Nov 27 Javascript
JavaScript实现指定数量的并发限制的示例代码
Mar 10 Javascript
浅谈Ant Design Pro 菜单自定义 icon
Nov 17 Javascript
vue实现在data里引入相对路径
Jun 05 Vue.js
vue中使用带隐藏文本信息的图片、图片水印的方法
Apr 24 #Javascript
基于Vue实现微前端的示例代码
Apr 24 #Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
Apr 24 #Javascript
小程序开发之模态框组件封装
Apr 23 #Javascript
详解Vue3中对VDOM的改进
Apr 23 #Javascript
微信小程序实现滑动操作代码
Apr 23 #Javascript
微信小程序图片右边加两行文字的代码
Apr 23 #Javascript
You might like
PHP新手上路(二)
2006/10/09 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP合并两个或多个数组的方法
2019/01/20 PHP
Avengerls vs Newbee BO3 第二场2.18
2021/03/10 DOTA
动态为事件添加js代码示例
2009/02/15 Javascript
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
前端微信支付js代码
2016/07/25 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
深入理解vue-loader如何使用
2017/06/06 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
vue 权限认证token的实现方法
2018/07/17 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
python实现在windows服务中新建进程的方法
2015/06/30 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python+OpenCV采集本地摄像头的视频
2019/04/25 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
python怎么删除缓存文件
2020/07/19 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
汉语言文学毕业生自荐信范文
2014/03/24 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
关于感恩的作文
2019/08/26 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers