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 相关文章推荐
js 提交和设置表单的值
Dec 19 Javascript
jquery幻灯片插件bxslider样式改进实例
Oct 15 Javascript
JavaScript实现基于Cookie的存储类实例
Apr 10 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
Jun 15 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
Nov 09 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
Feb 15 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
Feb 21 Javascript
JS倒计时实例_天时分秒
Aug 22 Javascript
vue template中slot-scope/scope的使用方法
Sep 06 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
Sep 15 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 Javascript
ant design vue的form表单取值方法
Jun 01 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
PHP树的深度编历生成迷宫及A*自动寻路算法实例分析
2015/03/10 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
Node.js编码规范
2014/07/14 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
使用AngularJS编写较为优美的JavaScript代码指南
2015/06/19 Javascript
JS实现弹性漂浮效果的广告代码
2015/09/02 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
jQuery倒计时代码(超简单)
2017/02/27 Javascript
webpack配置的最佳实践分享
2017/04/21 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
2018/09/18 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
Python内置数据类型详解
2014/08/18 Python
python求众数问题实例
2014/09/26 Python
Python函数的周期性执行实现方法
2016/08/13 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
Python3.4学习笔记之 idle 清屏扩展插件用法分析
2019/03/01 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
CSS3中使用RGBA设置透明度的示例
2015/08/04 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
记者岗位职责
2014/01/06 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
债务纠纷委托书
2014/08/30 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers