Vue开启Gzip打包异常:webpack打包报错Cannot read property 'emit' of undefined

相关代码

const CompressionPlugin = require('compression-webpack-plugin')

webpackConfig.plugins.push(

var path = require('path')
var utils = require('./utils')
var webpack = require('webpack')
var config = require('../config')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var CopyWebpackPlugin = require('copy-webpack-plugin')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
var CompressionWebpackPlugin = require('compression-webpack-plugin');var env = config.build.env;
var productionGzipExtensions = ['js','css','html','svg','png','less','jpg','jpeg','woff','ttf','woff2','ico',
];var webpackConfig = merge(baseWebpackConfig, {module: {rules: utils.styleLoaders({sourceMap: config.build.productionSourceMap,extract: true})},devtool: config.build.productionSourceMap ? '#source-map' : false,output: {path: config.build.assetsRoot,filename: utils.assetsPath('js/[name].[chunkhash].js'),chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')},plugins: [// http://vuejs.github.io/vue-loader/en/workflow/production.htmlnew webpack.DefinePlugin({'process.env': env}),// new CompressionWebpackPlugin({//     algorithm: 'gzip',//     test: productionGzipExtensions,//     threshold: 0,//     minRatio: 0.8,// }),new webpack.optimize.UglifyJsPlugin({compress: {warnings: false},sourceMap: false}),// extract css into its own filenew ExtractTextPlugin({filename: utils.assetsPath('css/[name].[contenthash].css')}),// Compress extracted CSS. We are using this plugin so that possible// duplicated CSS from different components can be deduped.new OptimizeCSSPlugin({cssProcessorOptions: {safe: true}}),// generate dist index.html with correct asset hash for caching.// you can customize output by editing /index.html// see https://github.com/ampedandwired/html-webpack-pluginnew HtmlWebpackPlugin({filename: config.build.index,template: 'index.html',inject: true,minify: {removeComments: true,collapseWhitespace: true,removeAttributeQuotes: true// more options:// https://github.com/kangax/html-minifier#options-quick-reference},// necessary to consistently work with multiple chunks via CommonsChunkPluginchunksSortMode: 'dependency'}),// keep module.id stable when vender modules does not changenew webpack.HashedModuleIdsPlugin(),// split vendor js into its own filenew webpack.optimize.CommonsChunkPlugin({name: 'vendor',minChunks: function(module, count) {// any required modules inside node_modules are extracted to vendorreturn (module.resource &&/\.js$/.test(module.resource) &&module.resource.indexOf(path.join(__dirname, '../node_modules')) === 0)}}),// extract webpack runtime and module manifest to its own file in order to// prevent vendor hash from being updated whenever app bundle is updatednew webpack.optimize.CommonsChunkPlugin({name: 'manifest',chunks: ['vendor']}),// copy custom static assetsnew CopyWebpackPlugin([{from: path.resolve(__dirname, '../static'),to: config.build.assetsSubDirectory,ignore: ['.*']}])]
})if (config.build.productionGzip) {var CompressionWebpackPlugin = require('compression-webpack-plugin')webpackConfig.plugins.push(new CompressionWebpackPlugin({algorithm: 'gzip',test: new RegExp('\\.(' +config.build.productionGzipExtensions.join('|') +')$'),threshold: 1024,minRatio: 0.8}))
}if (config.build.bundleAnalyzerReport) {var BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPluginwebpackConfig.plugins.push(new BundleAnalyzerPlugin())
}module.exports = webpackConfig

错误如下

compiler.hooks.emit.tapAsync({ name: 'CompressionPlugin' }, emit);

TypeError: Cannot read property 'emit' of undefined

at CompressionPlugin.apply (C:\MyWayProject\2018\vue\ehrAdmin\node_modules\compression-webpack-plugin\dist\index.js:175:20)

解决方案

把compression-webpack-plugin降到1.1.12即可

//卸载原高版本compression-webpack-plugin
npm uninstall --key compression-webpack-plugin
//新安装低版本compression-webpack-plugin
npm install --save-dev compression-webpack-plugin@1.1.12

参考资料:https://segmentfault.com/q/1010000016321028

Vue开启Gzip打包异常:webpack打包报错Cannot read property ‘emit‘ of undefined相关推荐

  1. vue 报错 Cannot read property ‘__ob__‘ of undefined的解决方法

    vue 报错 Cannot read property '__ob__' of undefined的解决方法 参考文章: (1)vue 报错 Cannot read property '__ob__' ...

  2. vue echarts使用map地图 引入china.js报错Cannot read property ‘echarts’ of undefined

    下载china.js导入项目中引入,会报错Cannot read property 'echarts' of undefined import Echarts from "echarts&q ...

  3. 事件监听一直报错Cannot set property 'display' of undefined

    为什么80%的码农都做不了架构师?>>>    css ↓ .wechatBtn {position: relative;} .wechat {position: absolute; ...

  4. DateTimePicker 日期时间选择器报错 Cannot read property ‘getHours‘ of undefined, 无法选中`[__ob_: observer__]`时做判断

    我在一次开发中遇到了这个情况:使用DateTimePicker 日期时间选择器,出现无法选中, 报错 Cannot read property 'getHours' of undefined, 这个原 ...

  5. uniapp 小程序报错 Cannot read property ‘forceUpdate‘ of undefined

    uniapp 小程序报错 Cannot read property 'forceUpdate' of undefined 1.问题: 解决:配置小程序的ID manifest.json的文件

  6. js报错- cannot set property xxx of undefined

    case1 报错代码 quizList[index] = currentQuiz; quizList[index].learningItem = item; 报错内容 Cannot read prop ...

  7. vue 报错 Cannot read property ‘_wrapper‘ of undefined

    vue项目中,使用了各种插件和ui库,有时候会出现 Cannot read property '_wrapper' of undefined  这样的报错,一开始还以为是引用的插件报错, 其实是自定义 ...

  8. cesium CLAMP_TO_GROUND 报错 Cannot read property ‘globe‘ of undefined

    billboardCollection 需要添加heightReference: Cesium.HeightReference.CLAMP_TO_GROUND var viewer = new Ces ...

  9. 微信小程序接入百度统计报错 Cannot read property ‘mtj‘ of undefined

    参考文章微信小程序如何接入百度统计并且自定义事件分析_improvement-CSDN博客_百度统计 自定义事件 接入百度统计,遇到了几个坑 1.第一个坑--微信小程序后台配置了https://hmm ...

最新文章

  1. Swift - 经纬度位置坐标与真实地理位置相互转化
  2. 2017第17周五当前困境思考2
  3. Longest Substring Without Repeating Characters
  4. 如何优化 Linux系统
  5. linux 目录操作
  6. 30-- A 代码记录分析
  7. 【ArcGIS遇上Python】Python批量将多个文件夹下的多个影像数据镶嵌至新栅格
  8. php 异常 重试,Python中异常重试的解决方案详解
  9. CCScene切换的所有特效(28种)以及设置屏幕横竖屏!
  10. 【JQGRID DOCUMENTATION】.学习笔记.5.Form Editing
  11. 【bzoj 4455】小星星(树型DP+容斥原理+dfs建树和计算的2种方式)
  12. 蓝牙设置种常用的Intent
  13. query string parameter前端怎么传参_Substrate 前端开发-1: 用 Polkadot-JS API 轻松搭建前端
  14. 20175312 2018-2019-2 实验五 网络编程与安全 实验报告
  15. vue json对象转数组_年薪百万之路--第六十七天 Vue入门
  16. 如何下载高清卫星地图
  17. 计算几何(基础部分)
  18. WiFi漫游卡顿严重,如何有效改善实现无缝漫游
  19. 进程间通信-消息机制
  20. WiFi_数据速率计算公式

热门文章

  1. ASP.NET开发资源
  2. i3、i5、i7有什么区别?
  3. OllyDBG 入门系列(三)-函数
  4. 中国工商银行贵金属递延如何销户
  5. PHP 利用cron 实现文章同步至新浪、网易等微博
  6. Linux内核中container_of宏的理解
  7. linux 系统tty、pty和pts 的概念及区别(转)
  8. argparse模块---解析命令行参数
  9. 华为机试——质数因子
  10. 【anaconda】激活环境失败-bash: activate:No such file/没有那个文件或目录