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 - HTML的request类
Jul 15 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
Mar 24 Javascript
浅析JavaScript中的typeof运算符
Nov 30 Javascript
jQuery实现图片文字淡入淡出效果
Dec 21 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
Sep 06 Javascript
jQuery实现获取元素索引值index的方法
Sep 18 Javascript
Bootstrap框架的学习教程详解(二)
Oct 18 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
Feb 04 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
js实现QQ面板拖拽效果(慕课网DOM事件探秘)(全)
Sep 19 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 Javascript
JS实现进度条动态加载特效
Mar 25 Javascript
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开发中常用的字符串操作函数
2011/02/08 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
jQuery Tools Dateinput使用介绍
2012/07/14 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
Jquery判断$("#id")获取的对象是否存在的方法
2013/09/25 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
jquery延迟对象解析
2016/10/26 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
微信小程序自定义tab实现多层tab嵌套功能
2018/06/15 Javascript
AngularJs分页插件使用详解
2018/06/30 Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
2018/08/13 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
javascript 数组(list)添加/删除的实现
2020/12/17 Javascript
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
Python NumPy库安装使用笔记
2015/05/18 Python
Python实现统计单词出现的个数
2015/05/28 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
python GUI库图形界面开发之PyQt5拖放控件实例详解
2020/02/25 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
指针和引用有什么区别
2013/01/13 面试题
高中自我评价范文
2014/01/27 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技
排查Tomcat进程假死的问题
2022/05/06 Servers
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
2023/05/07 HTML / CSS