使用 copyWebpackPlugin 复制文件

zer*_*ero 5 javascript webpack

我正在使用 webpack 将文件从 /src/libs/** 复制到 /dist 目录,我的 copyWebpackPlugin 配置是

new copyWebpackPlugin([{
    from: __dirname + '/src/libs/**',
    to: __dirname + '/dist'
}])
Run Code Online (Sandbox Code Playgroud)

但它会在 dist 中生成一个额外的 src 文件夹。我希望我的目标文件夹是/dist/copy-files但它是/dist/src/copy-files。有什么解决方案吗?

小智 5

你必须区分contextfrom

  • context 是源文件的根路径,不会添加到目标路径中。
  • from:from然而,由glob确定的路径将被添加到目标路径中。

所以在你的情况下,试试

new copyWebpackPlugin([{
    context: __dirname + '/src',
    from: 'libs/**',
    to: __dirname + '/dist'
}])
Run Code Online (Sandbox Code Playgroud)

反而。


luk*_*eke 2

如果您在 中使用绝对路径to,copy-webpack-plugin 会将解析添加到from其中。
要获得您想要的内容,只需命名目录即可。

new copyWebpackPlugin([{
    from: __dirname + '/src/libs/**',
    to: 'dist'
}])
Run Code Online (Sandbox Code Playgroud)

from路径也不需要是绝对的。它不会改变结果,但仍然可能更干净一些。

new copyWebpackPlugin([{
    from: 'src/libs/**',
    to: 'dist'
}])
Run Code Online (Sandbox Code Playgroud)