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节点知识
Jan 31 Javascript
javaScript复制功能调用实现方案
Dec 13 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 Javascript
javascript弹出层输入框(示例代码)
Dec 11 Javascript
javascript计时器事件使用详解
Jan 07 Javascript
js实现当前输入框高亮显示的方法
Aug 19 Javascript
原生 JS Ajax,GET和POST 请求实例代码
Jun 08 Javascript
JavaScript必知必会(九)function 说起 闭包问题
Jun 08 Javascript
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
通过JS运行机制的角度说说作用域
Mar 12 Javascript
全面分析JavaScript 继承
May 30 Javascript
vue实现图片上传预览功能
Dec 23 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
DC宇宙的第一个英雄,堪称动漫史鼻祖,如今成为美国文化的象征
2020/04/09 欧美动漫
关于页面优化和伪静态
2009/10/11 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
js函数参数设置默认值的一种变通实现方法
2014/05/26 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
AngularJS学习第二篇 AngularJS依赖注入
2017/02/13 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
vue2.0实现音乐/视频播放进度条组件
2018/06/06 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
Django model select的多种用法详解
2019/07/16 Python
Django中create和save方法的不同
2019/08/13 Python
dpn网络的pytorch实现方式
2020/01/14 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
什么时候需要进行强制类型转换
2016/09/03 面试题
人事专员岗位职责
2015/02/03 职场文书