广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中的vendor.js文件过大问题及解决
  • 744
分享到

vue中的vendor.js文件过大问题及解决

vue中vendor.jsvendor.js文件过大vue vendor过大 2022-11-13 14:11:49 744人浏览 安东尼
摘要

目录Vue vendor.js文件过大问题1. cdn 引入2. 在使用vue等包的地方,注释掉import引入3. 打包忽视掉vue等包vue打包降低vendors.js文件大小v

vue vendor.js文件过大问题

1. cdn 引入

index.html中cdn的方式引入vue、vuex、axiOS、element-ui、vue-router等包,代码如下:

<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="Https://cdn.bootCSS.com/vue/2.6.11/vue.min.js"></script>
<script src="https://unpkg-com/vuex@3.4.0/dist/vuex.js"></script>
<script src="https://cdn.bootcss.com/vue-router/3.2.O/vue-router.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.6/index.min.js"></script>

如果是内网开发:cdn下载对应版本放入public下(例:public-->minJs-->cdn静态文件) 

<%if (process.env.node_ENV === 'production'){ %>//此处为外网cdn,具体根据公司需求
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://cdn.bootcss.com/vue/2.6.11/vue.min.js"></script>
<script src="https://unpkg-com/vuex@3.4.0/dist/vuex.js"></script>
<script src="https://cdn.bootcss.com/vue-router/3.2.O/vue-router.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.15.6/index.min.js"></script>
<%} else {%>
<script src="./minJs/axios.min.js"></script>
<script src="./minJs/vue.min.js"></script>
<script src="./minJs/vuex.js"></script>
<script src="./minJs/vue-router.min.js"></script>
<script src="./minJs/element-ui.min.js"></script>
<%}%>

注意:cdn版本与package版本一直,否则会出现报错,且cdn引用顺序又要求(例:element要在vue下面)否则报错:如下图

2. 在使用vue等包的地方,注释掉import引入

在所有使用vue的地方注释掉引入的vue等包,但是Vue.use(axios)、Vue.use(VueRoter)、Vue.use(vuex)等依然要使用,除了Vue.use(ElementUI), 如果加上这句话,还是会打包element-ui到vendor.js文件中

在main.js

在store文件加中的index.js

api/request.js文件中

在router/index.js文件中

3. 打包忽视掉vue等包

在vue.config.js

 chainwebpack: (config) => {
    if (isPro) { //isPro 本人判断是否产线
      config.externals={
        'vue':'vue',
        'vuex':'Vuex',
        'vue-router':'VueRouter',
        'element-ui':'ELEMENT',
        'axios':'axios'
      }
      config.plugin("extract-css").tap((args) => [
        {
          filename: `css/[name].${Version}.css`,
          chunkFilename: `css/[name].${Version}.css`,
        },
      ]);
    }
  },

第四步、如果打包后的文件还是比较大,就采用路由懒加载的方式加载路由

vue打包降低vendors.js文件大小

vue打包项目优化

减少vendors.js文件的大小

我们在打包vue项目的时候经常会遇到打包后的文件中vendors.js文件特别大,这个文件中的内容主要是我们项目中引入的第三方插件js文件,我们可以更改WEBpack的配置文件来排除这些第三方插件,然后在index.html文件中通过增加cdn引入的方式来优化我们的代码,使的我们的项目更快的加载。

方法:

找到vue项目的配置文件,如果使用的是vue-cli4脚手架,可以在项目的根目录下创建一个vue.config.js的配置文件,然后在配置文件中增加如下代码。

module.exports = {
    configureWebpack: config => {
        externals: {
            vue: 'Vue',  // 排除Vue文件
            'vue-router': 'VueRouter',  // 排除VueRouter
            moment: 'moment',    // 排除moment组件 一个时间格式化插件
            axios: 'axios',    // 排除axios组件
            'element-ui': 'ELEMENT',  // 排除element-ui组件,这里要使用大写
            echarts: 'echarts',  // 排除echarts组件
            qs: 'Qs'  // 排除qs组件
         }
     }
 }

externals是webpack的一项配置项, 官方解释:配置选项提供了「从输出的 bundle 中排除依赖」的方法。相反,所创建的 bundle 依赖于那些存在于用户环境(consumer’s environment)中的依赖。此功能通常对 library 开发人员来说是最有用的,然而也会有各种各样的应用程序用到它。

换句话说就是防止将某些 import 的包(package)打包到 bundle 中。也就是打包时不打包这些文件。

然后在public目录下的index.html文件里增加cdn的静态资源路径就ok了。

压缩文件

这里的压缩js不是指的代码的压缩,而是使用webpack的CompressionPlugin插件进行gzip压缩,首先安装插件

npm i -D compression-webpack-plugin

然后在vue.config.js文件中进行设置,找

// 引入插件
const CompressionPlugin = require('compression-webpack-plugin');
module.exports = {
    configureWebpack: config => {
        return {
            // 插件配置
            plugins: [
            // 实例化插件
                new CompressionPlugin({
                    // 需要压缩的文件后缀
                    test: /\.js$|\.html$|\.css$|\.png$|\.jpg$|\.jpeg$|\.gif$/,
                    // 压缩后的文件
                    filename: '[path][base].gz',
                    // 超过次大小的文件进行处理
                    threshold: 102400,
                    // 是否删除原资源
                    deleteOriginalAssets: false
                })
            ]
        }
    }
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: vue中的vendor.js文件过大问题及解决

本文链接: https://www.lsjlt.com/news/172423.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中的vendor.js文件过大问题及解决
    目录vue vendor.js文件过大问题1. cdn 引入2. 在使用vue等包的地方,注释掉import引入3. 打包忽视掉vue等包vue打包降低vendors.js文件大小v...
    99+
    2022-11-13
    vue中vendor.js vendor.js文件过大 vue vendor过大
  • 如何解决uni-app编译后 vendor.js 文件过大
    目录uni-app编译后vendor.js文件过大前景运行后发现小程序分包后vendor还是过大添加以下代码uni-app编译后vendor.js文件过大 前景 采用uni-app开...
    99+
    2022-11-13
  • uni-app编译后vendor.js文件过大怎么解决
    这篇文章主要讲解了“uni-app编译后vendor.js文件过大怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“uni-app编译后vendor.js文件过大怎么解决”吧!uni-a...
    99+
    2023-06-29
  • Tomcat解决catalina.out文件过大的问题
    目录前言暴力型技术型前言 有用Tomcat的,绝对都会遇到这样一个问题:catalina.out文件过大。 它是Tomcat默认生成的日志文件,会随着时间的推移,逐渐增大,不断的增长...
    99+
    2022-11-13
  • 如何解决使用vue打包时文件过大的问题
    这篇文章主要为大家展示了“如何解决使用vue打包时文件过大的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决使用vue打包时文件过大的问题”这篇文章吧...
    99+
    2022-10-19
  • 如何解决vue项目打包后文件过大问题
    目录为什么打包后文件过大?如何快速解决1.路由懒加载【使用es6提案的import()方式】2.CDN引入为什么打包后文件过大? 移动app项目,使用vue-cli脚手架搭建,UI主...
    99+
    2022-11-13
  • 怎么解决vue项目打包后文件过大问题
    这篇文章主要讲解了“怎么解决vue项目打包后文件过大问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决vue项目打包后文件过大问题”吧!为什么打包后文件过大?移动app项目,使用vu...
    99+
    2023-06-30
  • Vue中.vue文件比main.js先执行的问题及解决
    目录问题解释Vue加载时的执行顺序如下ES6模块化加载规则原因总结问题 在main.js,App.vue和两个子组件(A.vue和B.vue)中分别输出语句,查看他们的加载顺序: m...
    99+
    2022-12-08
    Vue中.vue文件 main.js先执行 Vue vue文件 main.js
  • Vue中v-html图片过大导致溢出的问题及解决
    目录vue v-html图片过大导致溢出问题描述关于富文本渲染内容图片溢出问题描述问题场景解决方法总结vue v-html图片过大导致溢出 问题描述 移动端开发中,经常遇到渲染富文本...
    99+
    2023-05-17
    Vue v-html图片过大 v-html图片过大溢出 Vue v-html图片溢出
  • Linux下如何解决日志文件过大的问题
    这篇文章主要介绍Linux下如何解决日志文件过大的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如何让应用程序在后台执行:linux后台执行命令:&与nohup的用法通过以上方法,应用程序的日志会一直输出...
    99+
    2023-06-15
  • vue导出excel文件流中文乱码问题及解决
    目录导出excel文件流中文乱码导出excel乱码(锟斤拷唷锟;锟斤拷)导出excel文件流中文乱码 解决此方法很多网上的差不多都可以。一下提供简单的方法 loads(){ ...
    99+
    2022-11-13
  • Vue入口文件index.html缓存的问题及解决
    目录Vue入口文件index.html缓存Vue项目index.html引入静态资源,刷新页面总结Vue入口文件index.html缓存 之前每次发版vue后台管理系统的时候,总是要...
    99+
    2023-03-19
    Vue入口文件 Vue index.html缓存 index.html缓存
  • vue组件vue-treeselect箭头和叉图标变大问题及解决
    目录vue-treeselect箭头和叉图标变大解决方法解决后的样子插件vue-treeselect用法首先需要安装用法看代码注释vue-treeselect箭头和叉图标变...
    99+
    2022-11-13
  • PDF拆分是怎么完美解决文件过大问题
    今天就跟大家聊聊有关PDF拆分是怎么完美解决文件过大问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。最近小编的一位朋友常常跟我吐槽:在工作的时候,要处理大量的PDF文档,有些文档非...
    99+
    2023-06-04
  • 通过数组给您的文件排序284587问题及解决
    当您使用FILESYSTEMOBJECT对象获得某个目录下的文件列表的时候,你有没有发现无法控制它们的排序方式,比如按照名字排序,按照扩展名排序,按照文件大小排序等等,让我们试着用数...
    99+
    2023-05-20
    asp 数组给您的文件
  • 解决Access文件越来越大的问题
    有时候在使用Access文件的时候,随着增删改的不断的连续,会导致文件越来越大。即使手动删除或者使用delete语句删除了大量的数据记录,会发现文件的大小依然没有减掉,而且随着你再往里写数据,又会增大。 产生这个现象的原因跟Access本身...
    99+
    2021-10-04
    解决Access文件越来越大的问题 数据库入门 数据库基础教程
  • git仓库清理瘦身解决 .git文件夹过大的问题
    git仓库清理找了很多资料和方案都没有很完美执行成功的;现在找到一个完美方案,分享给大家;希望能帮助大家 问题 gitlab代码开发了仓库开发了五年了,代码只有10M;clone的时候要700多兆很浪...
    99+
    2023-08-31
    git github java
  • mysql中找不到my.ini文件的问题及解决
    目录mysql找不到my.ini文件问题描述解决办法mysql免安装版找不到my.ini配置文件mysql找不到my.ini文件 问题描述 刚刚在修改mysql默认配置的时候,发现找不到my.ini文件。按照其他搬运工的...
    99+
    2022-08-26
  • Vue不能下载xls以及文件乱码问题解决
    发现问题 老大要让我实现下载xls文件的功能,我想了想:我好像不太会耶! 但是我们之前写的一个页面有一个下载xls的功能,那我就CV大法,嘿嘿嘿。 当我点击下载按钮的那一刻,控制台红...
    99+
    2022-11-13
  • VUE中使用PHP文件遇到的问题解决
    最近项目更新需要要在腾讯云服务器上上线用以VUE为框架的前后端分离的项目,在本地测试和上线实机测试之后遇到了php文件请求跨域的问题,第一次一个人处理这种问题,参考了站内大佬们的文档之后解决了,现在来记录下解决的方法: 在VUE项目的根目录...
    99+
    2023-09-18
    vue.js 前端 javascript php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作