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 相关文章推荐
Stop SQL Server
Jun 21 Javascript
Firebug 字幕文件JSON地址获取代码
Oct 28 Javascript
js 获取input点选按钮的值的方法
Apr 14 Javascript
JS实现禁止鼠标右键的功能
Oct 15 Javascript
Javascript的this用法
Jan 16 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
Feb 15 Javascript
Angular多选、全选、批量选择操作实例代码
Mar 10 Javascript
bootstrap手风琴折叠示例代码分享
May 22 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 Javascript
vue.js中导出Excel表格的案例分析
Jun 11 Javascript
webpack HappyPack实战详解
Oct 08 Javascript
viewer.js实现图片预览功能
Jun 24 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/06/28 PHP
php检测数组长度函数sizeof与count用法
2014/11/17 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
浅谈javascript 面向对象编程
2009/10/28 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
jquery实现metro效果示例代码
2013/09/06 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
javascript常用的方法分享
2015/07/01 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
Angular2 (RC5) 路由与导航详解
2016/09/21 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
layui的表单验证支持ajax判断用户名是否重复的实例
2019/09/06 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
Python标准库urllib2的一些使用细节总结
2015/03/16 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
pytorch 准备、训练和测试自己的图片数据的方法
2020/01/10 Python
python 如何引入协程和原理分析
2020/11/30 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
商务英语应届生自我鉴定
2013/12/08 职场文书
电话客服工作职责
2014/07/27 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
党员批评与自我批评
2014/10/15 职场文书
详解JavaScript中Arguments对象用途
2021/08/30 Javascript
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL