解决chunk-vendors.js文件太大,首屏加载很慢

首先介绍一款插件script-ext-html-webpack-plugin
可以动态插入script标签到HTML模板文件中,帮助开发者更好地控制脚本的加载和执行顺序,从而提高页面性能和用户体验。此外,该插件还允许开发者将JavaScript文件分为不同的块(chunk)并在HTML文件中按需引入,以加快页面的加载速度。它允许指定哪些JS文件是内联的,哪些是外部引用的

vue.config.js

chainWebpack(config) {// it can improve the speed of the first screen, it is recommended to turn on preload// it can improve the speed of the first screen, it is recommended to turn on preloadconfig.plugin('preload').tap(() => [{rel: 'preload',// to ignore runtime.js// https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/cli-service/lib/config/app.js#L171fileBlacklist: [/\.map$/, /hot-update\.js$/, /runtime\..*\.js$/],include: 'initial'}])config.resolve.alias.set('@', resolve('src')).set('vue', resolve('./node_modules/vue'))config.plugin('provide').use(webpack.ProvidePlugin, [{'window.Quill': 'quill/dist/quill.js','Quill': 'quill/dist/quill.js'}])// when there are many pages, it will cause too many meaningless requestsconfig.plugins.delete('prefetch')// set svg-sprite-loaderconfig.module.rule('svg').exclude.add(resolve('src/icons')).end()config.module.rule('icons').test(/\.svg$/).include.add(resolve('src/icons')).end().use('svg-sprite-loader').loader('svg-sprite-loader').options({symbolId: 'icon-[name]'}).end()config.when(['development', 'production'].includes(process.env.NODE_ENV),config => {config.plugin('ScriptExtHtmlWebpackPlugin').after('html').use('script-ext-html-webpack-plugin', [{// `runtime` must same as runtimeChunk name. default is `runtime`inline: /runtime\..*\.js$/}]).end()config.optimization.splitChunks({chunks: 'all',cacheGroups: {libs: {name: 'chunk-libs',test: /[\\/]node_modules[\\/]/,priority: 10,chunks: 'initial' // only package third parties that are initially dependent},elementUI: {name: 'chunk-elementUI', // split elementUI into a single packagepriority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or apptest: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm},commons: {name: 'chunk-commons',test: resolve('src/components'), // can customize your rulesminChunks: 3, //  minimum Common numberpriority: 5,reuseExistingChunk: true}}})// https:// webpack.js.org/configuration/optimization/#optimizationruntimechunkconfig.optimization.runtimeChunk('single')})}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QT】串口通信,usb通信QSerialPort::TimeoutErro超时问题

在处理 QSerialPort::TimeoutError 时,通常不需要重启整个软件。这种错误通常指出在进行串口操作(如读取或写入)时超时,但它不一定意味着串口设备出现了不可修复的错误。应该根据具体的错误情况采取合适的错误恢复策略。以下是一些…

大数据数据埋点技术面试题及参考答案(持续更新)

目录 数据埋点是什么? 数据埋点的主要目的有哪些?

滑动窗口详解

目录 一、滑动窗口的特定步骤: 二、题目解析 1、⻓度最⼩的⼦数组---点击跳转题目 3、最⼤连续 1 的个数 III----点击跳转题目 4、将 x 减到 0 的最⼩操作数----点击跳转题目 5、⽔果成篮----点击跳转题目 滑动窗口是双指针算法中细分的一种,它由暴…

SQL中为什么不要使用1=1?

为什么会使用 11? 在动态构建SQL查询时,开发者可能会不确定最终需要哪些条件。这时候,他们就会使用“11”作为一个始终为真的条件,让接下来的所有条件都可以方便地用“AND”连接起来,就像是搭积木的时候先放一个基座&…

安全运维 -- splunk 操作手册

0x00 背景 splunk 日常运维操作笔记。 0x01 场景 1.agent 安装 linux: tar -zxvf splunkforwarder-8.0.3-a6754d8441bf-Linux-x86_64.tgz -C /opt cp -r config /opt/splunkforwarder/etc/apps vi /opt/splunkforwarder/etc/apps/prefix_app_inputs/local/inputs…

PDF高效编辑器,支持修改PDF文档并转换格式从PDF文件转换成图片文件,轻松管理你的文档世界!

PDF文件已成为我们工作、学习和生活中不可或缺的一部分。然而,传统的PDF阅读器往往只能满足简单的查看需求,对于需要频繁编辑、修改或转换格式的用户来说,就显得力不从心。现在,我们为您带来一款全新的PDF高效编辑器,让…

挑战一周完成Vue3项目Day3: 品牌管理+平台属性管理+SPU管理+SKU管理

一、真实接口替换mock接口 (1)替换各个环境下的服务器地址( .env.development、.env.production、.env.test ) VITE_SERVE"http://sph-api.atguigu.cn" (2) 配饰代理跨域:vite.con…

根据标签最大层面ROI提取原始图像区域

今天要实现的任务是提取肿瘤的感兴趣区域。 有两个文件,一个是nii的原始图像文件,一个是nii的标签文件。 我们要实现的是:在标签文件上选出最大层面,然后把最大层面的ROI映射到原始图像区域,在原始图像上提裁剪出ROI…

Java 高级面试问题及答案(一)

Java 高级面试问题及答案 1. 解释Java中的多线程和并发,并给出一个你使用多线程的场景。 答案: 多线程是指在程序中同时运行多个线程,而并发是指在多线程环境下,多个线程在同一个时间点上执行不同的任务。Java中的多线程可以通过…

PLC通过Modbus转Profinet网关连接变频器与电机通讯

Modbus转Profinet网关(XD-MDPN100)是一种能够实现Modbus协议和Profinet协议之间转换的设备。Modbus转Profinet网关可提供单个或多个RS485接口,PLC作为控制中枢,变频器作为控制电机转速,通过Modbus转Profinet网关&#…

机器人系统结构不确定性

定义:结构不确定性指的是系统的结构特性存在的不确定性。这意味着系统的动力学特性可能受到非线性、时变、时滞、饱和等因素的影响,导致系统的结构模型具有一定的不确定性。影响:结构不确定性会使得控制器的设计更加困难,因为传统…

瑞米派实时系统与EtherCAT移植-米尔Remi Pi

1.概述 Remi Pi采用瑞萨RZ/G2L作为核心处理器,该处理器搭载双核Cortex-A551.2GHzCortex-M33200MHz处理器,其内部集成高性能3D加速引擎Mail-G31 GPU(500MHz)和视频处理单元(支持H.264硬件编解码),16位的DDR4-1600 / DDR3L-1333内存…

Webshell绕过技巧分析之-base64编码和压缩编码

在网络安全运营,护网HVV,重保等活动的过程中,webshell是一个无法绕过的话题。通常出现的webshell都不是以明文的形式出现,而是针对webshell关键的内容进行,混淆,编码来绕过网络安全产品,例如IDS…

计算机提示msvcp110.dll是什么意思?msvcp110.dll丢失恢复办法

在Windows操作系统中,动态链接库(DLL)扮演着至关重要的角色,它们是实现程序间代码共享和模块化设计的关键组件。msvcp110.dll,作为Microsoft Visual C 2012运行时库的一个组成部分,是理解现代软件开发和维护…

【酱浦菌-爬虫技术细节】解决学术堂爬虫翻页(下一页)问题

首先我们通过css选择器获取页码信息,这里的css选择器,选择的是含有a标签的所有li标签,代码如下: li html_web.css(div.pd_c_xslb_left_fenye ul li>a) for li in li:li_url li.css(a::attr(href)).get()li_num li.css(a::t…

Java中的public,private,protect,默认这几个访问修饰符的范围和概念

在Java中,public、private和protected是访问修饰符,它们决定了类、方法或变量的访问级别。这些访问修饰符有助于实现封装,这是面向对象编程的四大基本特性之一。 public:这是最高级别的访问修饰符。被public修饰的类、方法或变量…

STM32入门_江协科技_3~4_OB记录的自学笔记_软件安装新建工程

3. 软件安装 3.1. 安装Keil5 MDK 作者的资料下载的连接如下:https://jiangxiekeji.com/download.html#32 3.2. 安装器件支持包 因为新的芯片层出不穷,所以需要安装Keil5提供的器件升级版对软件进行升级,从而支持新的芯片;如果不…

python Django 的内置权限系统或自定义模型来存储更复杂的角色和权限关系

在 Django 中,管理用户权限和角色通常涉及到使用 Django 的内置权限系统或自定义模型来存储更复杂的角色和权限关系。下面是一个基本的指南,说明如何在 Django 中为后台管理系统分配权限并将其保存在数据库中,同时结合 Vue.js 和 Element UI 作为前端框架。 后端(Django)…

unity-C#调用百度千帆AppBuilder的OpenApi

目录 功能描述准备工作百度智能云账号创建应用编辑应用创建Api秘钥Api调用流程unity代码Unitywebrequest非流式流式注意事项 Restsharp 功能描述 使用百度千帆AppBuilder平台,通过api调用的方式实现AI大模型对话功能(文字) 准备工作 百度智能云账号 请自行在百度智能云进行…

力扣---二叉树的右视图

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,null,3] 输出: [1,3]示例 3: 输入: [] 输出: []实现方法&…