解决vue打包wendor过大的问题

1. 找出原因

一般情况下不会出现过大的问题,但是,当你引入一些UI组件库的时候会导致打包文件过大的问题。所以我们需要通过外部引入的方式引入这些UI组件库,从而减少打包文件过大的问题。

2. 解决方案

1.外链式引入UI组件库

1.在index.html的文件头部引入element-ui的组件库。

引入vue
<!-- 开发版,开发过程中使用此方案-->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- 生产版,打包的时候使用此方案 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>

引入element-ui
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui@2.3.9/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui@2.3.9/lib/index.js"></script>

2.在main.js中进行修改如下所示

// import Vue from 'vue'	     	//需要注释掉全局本地引入的vue
import App from './App'
import router from './router'

Vue.config.productionTip = false

Vue.use(ELEMENT);				//在外部引入的element-ui的为ELEMENT,如此写即可

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

3.在build\webpack.base.conf.js中进行修改,在module.exports中添加如下内容:

externals:{
  "element-ui":"ELEMENT",
  "vue":"Vue"
},
// 思为不进行打包的文件,如不设置,外部引入的内容将会被打包

!!!需要注意的是在项目运行过程中修改会导致页面崩溃,即类似与css样式没有引入的页面效果。这时候需要重启项目了,再次打开即可正常显示。

2.代码打包成压缩包,浏览器支持自动解压的将会加载压缩包

config\index.js中进行修改

productionGzip: true,  //需要下载相应的包 npm install --save-dev compression-webpack-plugin

在这里需要注意的是现在下载的compression-webpack-plugin插件的版本未2.0.0,所以会出现打包出错的问题。应该怎么解决这个问题呢?

分析原因:看compression-webpack-plugin文档有说明This module requires a minimum of Node v6.9.0 and Webpack v4.0.0.),compression-webpack-plugin需要与webpack4.X版本相结合才可以,但是我相信有很多小伙伴的webpack的版本还在3.X。所以总结出了以下两种解决办法:

  1. 升级webpack的版本到4.X
  2. 指定compression-webpack-plugin的版本compression-webpack-plugin@1.1.12

以上两种方案既可解决vue项目压缩打包失败的问题

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
打包Vue项目时,如果生成的libs文件过大,可以采取以下措施进行优化。 首先,可以使用webpack-bundle-analyzer工具来分析打包后的文件,找出哪些模块是占用空间较大的。可以通过安装和配置webpack-bundle-analyzer来实现这一步骤。 其次,可以考虑对路由进行优化。如果项目中有很多页面和路由,可以尝试按需加载路由,即在需要访问某个页面时再加载相应的路由模块,而不是一次性加载所有路由模块。这样可以减少打包后libs文件的大小。 另外,可以使用SDN(Software-Defined Networking)进行优化。SDN可以通过网络虚拟化和网络功能划分等方式来提高网络的灵活性和效率,从而减少数据传输的大小。 还可以去掉map文件。在生产环境下,map文件通常不需要,可以通过配置productionSourceMap为false来禁用map文件生成。 最后,可以使用gzip来对打包后的文件进行压缩。可以安装compression-webpack-plugin插件来自动进行gzip打包,从而减小文件的体积。 以上是几种优化vue打包时libs文件过大的方法,可以根据具体情况选择适合项目的优化策略。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue打包之后文件过大,首开进度缓慢](https://blog.csdn.net/lxw_hk2_zy/article/details/123276044)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值