如何使用CopyWebpackPlugin复制和重命名文件

如何使用CopyWebpackPlugin复制和重命名文件,webpack,file-copying,Webpack,File Copying,作为构建过程的一部分,我已经使用CopyWebpackPlugin将一些文件从源代码复制到构建目录。 在复制的同时,我还想更改一些文件名。 例如,从test.tsx.snap到test.js.snap。 从文档上看,这应该是可能的,但目前还不清楚。 我想对文件目录执行此操作,因此还需要全局处理 目前这不起作用: const config = { plugins: [ new CopyWebpackPlugin([ { from: path.resolve(

作为构建过程的一部分,我已经使用
CopyWebpackPlugin
将一些文件从源代码复制到构建目录。 在复制的同时,我还想更改一些文件名。 例如,从
test.tsx.snap
test.js.snap
。 从文档上看,这应该是可能的,但目前还不清楚。 我想对文件目录执行此操作,因此还需要全局处理

目前这不起作用:

const config = {
  plugins: [
    new CopyWebpackPlugin([
      {
        from: path.resolve(__dirname, './test/snapshots/[name].tsx.[ext]'),
        to: path.resolve(__dirname, './test/snapshots/[name].js.[ext]')
      }
    ])
  ]
}
您可以使用捕获正则表达式组,然后可以在
to
中使用

[
  new CopyWebpackPlugin([
    {
      from: path.resolve(__dirname, './test/snapshots/*.tsx.*'),
      to: '[2].js.[ext]',
      test: /(.+\/)?(.+)\.tsx\.snap/
    }
  ], options)
]

我可能有点晚了,但我认为可能更简单的解决方案是使用toType选项指定“to”选项是一个模板

const-config={
插件:[
新的CopyWebpackPlugin([
{
from:path.resolve(uu dirname,'./test/snapshots'),
收件人:path.resolve(uu dirname,'./test/snapshots/[name].js.[ext]'),
toType:“模板”,
}
])
]

}
如果要结束投票,请给我指出相应的stackexchange站点。还请记住,这是关于“程序员常用的软件工具”的,因此属于stackoverflow。这对我来说很有效