copy-webpack-plugin---打包时忽略某个文件/文件夹

1,898 阅读1分钟

场景: 某些情况下(例如,小程序),我们可能会引入一些插件,而有些插件可能不支持vue框架的写法,只支持原生写法。这时如果直接引入插件,打包编译时会被影响。我们需要忽略这个插件并把他直接拷贝到打包目录中。copy-webpack-plugin即可解决。

安装

yarn add copy-webpack-plugin@5.0

打包时,可能会出现 compilation.getCache is not a function 的错误。当时我安装的是5.1版本,降低到5.0发现可以了。

vue.config.js

const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
  configureWebpack: {
    plugins: [
      new CopyWebpackPlugin([
        {
          from: path.resolve(__dirname, 'src/'),
          to: path.resolve(__dirname, 'dist/')
        }
      ])
    ]
  }

webpack.config.js

const CopyPlugin = require("copy-webpack-plugin");

module.exports = {
  plugins: [
    new CopyPlugin({
      patterns: [
        { from: "source", to: "dest" },
        { from: "other", to: "public" },
      ],
      options: {
        concurrency: 100,
      },
    }),
  ],
};