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 相关文章推荐
如何实现浏览器上的右键菜单
Jul 10 Javascript
javascript 学习之旅 (1)
Feb 05 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
Nov 30 Javascript
jquery 操作日期、星期、元素的追加的实现代码
Feb 07 Javascript
jQuery实现简单的间隔向上滚动效果
Mar 09 Javascript
在JavaScript中处理字符串之link()方法的使用
Jun 08 Javascript
用js实现博客打赏功能
Oct 24 Javascript
js中开关变量使用实例
Feb 24 Javascript
vue移动端弹框组件的实例
Sep 25 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
基于vue-cli搭建多模块且各模块独立打包的项目
Jun 12 Javascript
vue 获取url里参数的两种方法小结
Nov 12 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
农民C键的运用技巧
2020/03/04 星际争霸
PHP加密函数 Javascript/Js 解密函数
2013/09/23 PHP
四个PHP非常实用的功能
2015/09/29 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
php获取linux命令结果的实例
2017/03/13 PHP
php面向对象基础详解【星际争霸游戏案例】
2020/01/23 PHP
js中事件的处理与浏览器对象示例介绍
2013/11/29 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
取得元素的左和上偏移量的方法
2014/09/17 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
详解js类型判断
2018/05/22 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
小程序实现搜索框
2020/06/19 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
python实现rest请求api示例
2014/04/22 Python
Python基于Matplotlib库简单绘制折线图的方法示例
2017/08/14 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
基于python实现学生信息管理系统
2019/11/22 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
打印tensorflow恢复模型中所有变量与操作节点方式
2020/05/26 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
html5定制表单_动力节点Java学院整理
2017/07/11 HTML / CSS
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
大学生自我评价怎样写好
2013/10/23 职场文书
活动宣传策划方案
2014/05/23 职场文书
给校长的一封检讨书
2014/09/20 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
win10+anaconda安装yolov5的方法及问题解决方案
2021/04/29 Python
Django操作cookie的实现
2021/05/26 Python