Vue 打包 chunk-vendors.js 文件过大导致页面加载缓慢解决方案

这篇具有很好参考价值的文章主要介绍了Vue 打包 chunk-vendors.js 文件过大导致页面加载缓慢解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

顾名思义,chunk-vendors.js 是捆绑所有不是自己的模块,而是来自其他方的模块的捆绑包,它们称为第三方模块或供应商模块。

通常,它意味着(仅和)来自项目 /node_modules 目录的所有模块,会将所有 /node_modules 中的第三方包打包到 chunk-vendors.js 中。

将所有的第三方包集中到一个文件,自然也会出现文件过大的问题。文章来源地址https://www.toymoban.com/news/detail-588187.html

解决方案

方案一 compression-webpack-plugin 插件解决方案
  • 安装 npm install compression-webpack-plugin --save
// 引入compression-webpack-plugin
const CompressionPlugin = require('compression-webpack-plugin')

// 当前环境是vue.config.js 文件下的配置
chainWebpack: (config) => {
    config.plugin('compressionPlugin').use(new CompressionPlugin({
        test: /\.(js|css|less)$/, // 匹配文件名
        threshold: 1024, // 对超过10k的数据压缩
        deleteOriginalAssets: false, // 不删除源文件
        minRatio: 0.3, // 压缩比
      }))
}
方案二 使用webpack optimization 进行对大文件分包打包
 // 当前环境是vue.config.js 文件下的配置
 configureWebpack: config => {
     return {
     // 开启分离 js
     optimization: {
       runtimeChunk: 'single',
       splitChunks: {
         chunks: 'all',
         maxInitialRequests: Infinity,
         minSize: 20000,
         cacheGroups: {
           vendor: {
             test: /[\\/]node_modules[\\/]/,
             name(module) {
               // get the name. E.g. node_modules/packageName/not/this/part.js
               // or node_modules/packageName
               const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1]
               // npm package names are URL-safe, but some servers don't like @ symbols
               return `npm.${packageName.replace('@', '')}`
             }
           }
         }
       }
     }
   }
 }

到了这里,关于Vue 打包 chunk-vendors.js 文件过大导致页面加载缓慢解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue项目中app.js过大,导致web初始化加载过慢问题

    1、删除多余不需要的库: npm uninstall xxx 如例如moment库文件是很大的可以直接放到index.html文件直接CDN引入 2、修改/config/index.js配置文件:将productionGzip设置为false ​ 3、设置vue-router懒加载 懒加载配置: ​ 非懒加载配置: ​ 4、在webpack.prod.conf.js文件中修改配置: ​ 5、在in

    2024年02月11日
    浏览(42)
  • 解决uniapp 小程序 vendor.js过大 大于500K 无法转换ES5问题

    项目页面147个,编译后的vendor.js大小2.4M,导致无法正常转换ES5,导致sourcemap下载后都是分号;;;;;, 无法定位线上错误日志的文件位置. 第一步是最重要的,非核心页面做分包处理分包处理文档,然后在manifest.json文件中进行如下配置,这样打包的时候只有主包页面会打包到vendor.js内 man

    2024年02月16日
    浏览(35)
  • uni-app 微信小程序vendor.js 过大的处理方式和分包优化

    小程序工具提示vendor.js过大,已经跳过es6向es5转换。这个转换问题本身不用理会,因为vendor.js已经是es5的了。 关于体积控制,参考如下: 使用运行时代码压缩 HBuilderX创建的项目勾选运行–运行到小程序模拟器–运行时是否压缩代码 cli创建的项目可以在 package.json 中添加参数

    2024年02月11日
    浏览(76)
  • Git因文件过大导致提交失败解决方案

    git推送到远程时因个别文件过大导致推送失败 Gitee托管平台对不同套餐的用户采用了不同的配额限制,详情可查阅Gitee产品文档 1、查看超出限额的大文件 命令如下,其中 557b10ce603309c9a25c0e3924ce3d681104f18c 为错误信息中给出的文件的哈希值 2、查看提交记录 使用 git log 命令可查

    2024年04月08日
    浏览(88)
  • nuxt打包后文件过大的优化

    在使用nuxt.js来做项目的时候,遇到了加载缓慢的问题。解决思路如下 1、大文件拆分 2、文件压缩 通过nuxt build --analyze或者nuxt build -a命令来启用 在package.json中 添加–analyze,然后执行npm run build 打包后如下: 拆分前的 在实际应用中,加载较大体积的资源耗费的时间也会相对较

    2024年02月10日
    浏览(46)
  • 解决pyinstaller打包文件过大问题,手把手教学

    1.首先需要在Pycharm创建一个虚拟环境,如图:  2.第二步创建我们自己的虚拟环境,如图,我这里将我的环境命名为myworkspace,然后它会自动创建一个venv文件,这里面就包含了我们的一些依赖包,接下来点击create就行:  3.第三步点击create之后,我们再点击new window,打开我们的虚拟

    2024年02月14日
    浏览(69)
  • 【Python小工具】解决Python的Pyinstaller将.py文件打包成.exe可执行文件后文件过大的问题

    在文章 【Python小项目】Python的GUI库Tkinter实现随机点名工具或抽奖工具并封装成.exe可执行文件中我们实现了一个python小项目的制作并将其打包成了.exe可执行文件。但是,当我们查看了一下文件大小后,好家伙,一百多行代码打包完竟然有242M。于是,我们静下心来思考,是不

    2024年02月10日
    浏览(56)
  • vue-tsc --noEmit导致打包报TS类型错误

    🐱 个人主页: 不叫猫先生 ,公众号: 前端舵手 🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫优质专栏: vue3+vite+typeScript从入门到实践 📢 资料领取:前端进阶资料

    2024年02月11日
    浏览(40)
  • Http 响应头 Transfer-Encoding : chunked 导致 浏览器客户端请求错误问题

    生产环境服务器规划如下 服务器 类型 网络环境 cal.com nginx 外网 192.168.7.15:9200 tomcat 内网 192.168.7.16:9200 tomcat 内网 sdd.com nginx 内网 192.168.7.15:9100 tomcat 内网 192.168.7.16:9100 tomcat 内网 192.168.7.15和192.168.7.16是做个负载均衡。目前的需求是用户访问外网的cal.com 返回 内网 192.168.7.15:9

    2024年02月15日
    浏览(48)
  • 【ElasticSearch】索引数据mapping嵌套深度过大导致Stackoverflow问题排查

    集群所有数据节点频繁因为StackOverflowError的错误挂掉,启动后还会挂掉,StackOverflowError异常栈如下 通过堆栈可以看出是写入线程池[write]发生的Stackoverflow,并且可能是在解析mapping的过程发生的,通过ObjectMapper类推断是Object类型数据写入导致的。因此通过拉取集群内所有索引的

    2024年02月03日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包