解决vue-cli webpack打包开启Gzip 报错问题


Posted in Javascript onJuly 24, 2019

前两天项目上线,用vue-cli npm run build命令打包,打包完成后我擦吓了一跳,15M。本来暂时不打算优化的,但是每次看着部署包这么大,想想还是先优化一下,让包好看点,免得以后出现心理阴影!

在把 map文件干掉后,发现webpack这打包的速度,也忒感人了。在进行不自动生成 map文件设置时,有看到webpack自带的productionGzip功能,索性就一次性一起鼓捣鼓捣。

下面是瞎鼓捣历程,差点就鼓捣不出来了。

1、在项目 根目录config/index.js中build内找到productionGzip: false,把false改为true。与 productionSourceMap 刚好相反。

解决vue-cli webpack打包开启Gzip 报错问题

属性值修改后,这个时候可以执行 npm run build。但是会报错,提示找不到 "Cannot find module 'compression-webpack-plugin'"

解决vue-cli webpack打包开启Gzip 报错问题

2、也就是说需要安装依赖compression-webpack-plugin 官方推荐的命令是:(但是网不好的话就凉凉了)

npm install --save-dev compression-webpack-plugin //在没有给定版本号时该命令默认安装最新版compression-webpack-plugin,问题恰恰就出在这

安装完成以后,重新运行 npm run build,然后悲剧了:

解决vue-cli webpack打包开启Gzip 报错问题

从报错显示获知,是配置选项验证失败,但是是哪一项验证失败,或者那些项验证失败就不晓得了,打开报错日志,越看越蒙圈了,一脸茫然。从源代码里面也没看出个所以然。

解决vue-cli webpack打包开启Gzip 报错问题

从校验参数来看,参数就两个,但是第一个参数内属性很多。

解决vue-cli webpack打包开启Gzip 报错问题,从结果看是这行代码里面执行的校验失败了。至于这行代码执行的什么,水平不够查不下去了。

最后没得法了,只能去官网 https://www.npmjs.com/package/compression-webpack-plugin上看看,有么得啥突破。进去第一眼就瞄到了 2.0.0•Public•Published3 months ago,一下就感觉有点不对了,一般小版本的更新都是 1.xx.xx,很少这种直接全零的,全零的一般适用于大版本的升级更新,再看看上面的配置项检验失败,选项属性匹配不上。突然有种莫名被坑的感觉。接着看下面的介绍和文档,①先对应了下node的版本 node@v8.11.3,还在匹配的范围内。② Requirements:This module requires a minimum of Node v6.9.0 and Webpack v4.0.0 (此模块最低需要 Nodev6.9.0和Webpack v4.0.0),我这webpack版本明显差一大截。这下总算找到症结所在了。

解决vue-cli webpack打包开启Gzip 报错问题

解决vue-cli webpack打包开启Gzip 报错问题

解决vue-cli webpack打包开启Gzip 报错问题

3、找到症结所在,那处理起来就简单了。既然最新版本太高,在用的webpack高攀不起,那就只能给它降级了,木得法。

①卸载已经安装的最新版2.0compression-webpack-plugin安装包。

npm uninstall --save-dev compression-webpack-plugin

② 重新安装1.1.12版本(该版本为1.1的最新版)。卸载其实可以不用,直接执行安装命令,进行版本覆盖也行。

npm install --save-dev compression-webpack-plugin@1.1.12
//记得带版本号

③等安装好之后,重新执行 npm run build 进行打包,终于成功了,真他妈艰难!

安装过程中,还遇到另外一个问题。网速和墙的问题:

解决vue-cli webpack打包开启Gzip 报错问题

这个倒是好解决,使用淘宝镜像 就行。 安装过程以及可能出现的问题和解决 可以移步https://3water.com/article/166090.htm进行参考!

总结

以上所述是小编给大家介绍的解决vue-cli webpack打包开启Gzip 报错问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jquery利用ajax调用后台方法实例
Aug 23 Javascript
jquery 页面滚动到指定DIV实现代码
Sep 25 Javascript
巧用replace将文字表情替换为图片
Apr 17 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
May 03 Javascript
jQuery中用dom操作替代正则表达式
Dec 29 Javascript
javascript+canvas实现刮刮卡抽奖效果
Jul 29 Javascript
Vue 2.0中生命周期与钩子函数的一些理解
May 09 Javascript
微信小程序日历组件calendar详解及实例
Jun 08 Javascript
vue.js内置组件之keep-alive组件使用
Jul 10 Javascript
vue项目中使用Svg的方法
Oct 24 Javascript
JS一次前端面试经历记录
Mar 19 Javascript
js实现3D粒子酷炫动态旋转特效
Sep 13 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
Jul 24 #Javascript
JavaScript面向对象中接口实现方法详解
Jul 24 #Javascript
IE11下处理Promise及Vue的单项数据流问题
Jul 24 #Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
Jul 23 #Javascript
详解Vue中的基本语法和常用指令
Jul 23 #Javascript
js如何获取访问IP、地区、当前操作浏览器
Jul 23 #Javascript
node.js express框架简介与实现
Jul 23 #Javascript
You might like
最简单的PHP程序--记数器
2006/10/09 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
PHP分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
图解找出PHP配置文件php.ini的路径的方法
2014/08/20 PHP
php检测apache mod_rewrite模块是否安装的方法
2015/03/14 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
一个基于jquery的图片切换效果
2010/07/06 Javascript
JavaScript中获取元素索引的函数
2010/09/10 Javascript
javascript 节点排序 2
2011/01/31 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
JS异步执行结果获取的3种解决方式
2019/02/19 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
vue表单验证之禁止input输入框输入空格
2020/12/03 Vue.js
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
幼师自荐信范文
2013/10/06 职场文书
元旦联欢会主持词
2014/03/26 职场文书
有关西游记的读书笔记
2015/06/25 职场文书
门卫管理制度范本
2015/08/05 职场文书
大学生奖学金获奖感言(范文)
2019/08/15 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android