HookWebpackError:在 Windows 上使用 copy-webpack-plugin 时不支持

ezy*_*ypx 11 node.js webpack webpack.config.js

每当我尝试运行 webpack 时,我都会在 Windows 10 上遇到错误,但它在 macOS 上运行良好。这是错误

[webpack-cli] HookWebpackError: Not supported

没有“CopyPlugin”它运行正常,但我想将 img 文件夹复制到 dist 文件夹中。您是否遇到过类似问题以及如何解决这些问题?

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
const TerserPlugin = require("terser-webpack-plugin");
const CopyPlugin = require('copy-webpack-plugin');
const path = require("path");
module.exports = {
  entry: ['./src/assets/scss/app.scss', './src/assets/js/app.js'],
  output: {
    path: path.resolve(__dirname, 'dist'),
    publicPath: '/dist',
    filename: 'assets/js/app.js',
  },
  module: {
    rules: [
      {
        test: /.s?css$/,
        exclude: /node_modules/,
        use: [
          {
            loader: MiniCssExtractPlugin.loader
          },
          {
            loader: "css-loader",
            options: {
              importLoaders: 2
            }
          },
          {
            loader: 'sass-loader'
          }
        ]
      }
    ],
  },
  resolve: {
    extensions: [".js", ".jsx"]
  },
  optimization: {
    minimize: true,
    minimizer: [
      new TerserPlugin(),
      `...`,
      new CssMinimizerPlugin(),
    ],
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: './assets/css/app.css'
    }),
    new CopyPlugin({
      patterns: [
        { from: "./src/assets/img", to: "assets/img" }
      ],
    }),
  ],
  devServer: {
    open: true,
    port: 3000,
    hot: true,
    static: {
      directory: path.join(__dirname, './'),
    }
  },
};
Run Code Online (Sandbox Code Playgroud)

来自 package.json

"devDependencies": {
    "ajv": "^7.2.4",
    "babel-preset-env": "^1.7.0",
    "babel-register": "^6.26.0",
    "clean-css": "^5.2.2",
    "copy-webpack-plugin": "^10.0.0",
    "css-loader": "^6.5.1",
    "css-minimizer-webpack-plugin": "^3.2.0",
    "mini-css-extract-plugin": "^2.4.5",
    "sass": "^1.44.0",
    "sass-loader": "^12.3.0",
    "terser-webpack-plugin": "^5.2.5",
    "webpack": "^5.64.4",
    "webpack-cli": "^4.9.1",
    "webpack-dev-server": "^4.6.0"
  }
Run Code Online (Sandbox Code Playgroud)

小智 28

您的节点版本低于12.20\xef\xbc\x8c请选择其中一种方案

\n

1.升级你的node

\n

npm install node@12.20.0 -g

\n

或者最新的
\nnpm install node@latest -g

\n

在 Windows 下可能会注意到工作,您应该使用 Windows Installer (.msi)从https://nodejs.org/en/download/npm install node安装最新版本

\n

2.降低copy-webpack-plugin版本

\n

npm install copy-webpack-plugin@9 -D

\n