首页 > 解决方案 > 使用 css-minimizer-webpack-plugin 构建时无法读取未定义的属性“tapPromise”

问题描述

webpack.common.js

optimization: {
  minimize: true, 
  minimizer: [
    new CssMinimizerPlugin({
      test: /\.foo\.css$/i,
      //or already used
      test: /\.css(\?.*)?$/i
    }),
  ],
},

有什么建议吗?

标签: csswebpack-plugin

解决方案


这个错误可能是指

compilation.hooks.processAssets.tapPromise

您可以将processAssets 钩子与高于 5 的 Webpack 版本一起 使用。css-minimizer-webpack-plugin从 version 开始迁移到 processAssets 钩子上1.1.0

基本上,有两种方法可以解决这个问题:

  • css-minimizer-webpack-pluginto的低版本1.0.0

     npm uninstall css-minimizer-webpack-plugin
    
     npm install css-minimizer-webpack-plugin@1.0.0
    

或者

  • 将 webpack 升级到 5 以上。如果您选择此选项,您可能需要研究迁移文档

推荐阅读