前端性能优化二十九:花裤衩模板多入口文件打包

2023-12-26 11:04

本文主要是介绍前端性能优化二十九:花裤衩模板多入口文件打包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(1). 场景:

. 大型类cms型:a. 技术选型是vueb. 有诸多子功能模块,全部打包在一起很大.

(2). 打包策略原则:

. 选择合适的打包粒度,生成的单文件大小不要超过500KB.. 充分利用浏览器的并发请求:a. https考虑同时保证并发数不超过6.b. http2可以忽略.. 尽可能让浏览器命中304,频繁改动的业务代码不要与公共代码打包.. 避免加载太多用不到的代码,层级较深的页面进行异步加载.

(3). 打包策略规则:

. 第三方库如vue、jquery、bootstrap打包为一个文件.. 公共组件如弹窗、菜单等打包为一个文件.. 工具类、项目通用基类打包为一个文件.. 各个功能模块打包出自己的入口文件.. 各功能模块作用一个SPA,子页面进行异步加载.

2. 实战:

(1). 各入口文件的打包:

. 项目整体作为一个SPA,各子功能都有自己单独的入口文件.. 目录结构如下:srcappspaper    // 子功能index.jsquestionindex.jscomponents  // 公共组件

(2). 优雅的加载子功能模块入口思路:

. 功能模块是随时会增加的,在entry中写死入口文件不太友好.. 使用glob的模块,能够用通配符来取到所有的文件.(类似gulp),动态获取子功能入口文件.

(3). 动态查找所有入口文件:

var files = glob.sync('./public/src/apps/*/index.js');
var newEntries = {};
files.forEach(function(f){// 得到apps/question/index这样的文件名var name = /.*\/(apps\/.*?\/index)\.js/.exec(f)[1];newEntries[name] = f;
});
config.entry = Object.assign({}, config.entry, newEntries);

这篇关于前端性能优化二十九:花裤衩模板多入口文件打包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/539173

相关文章

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob