Symfony项目中如何配置webpack copyFiles的目标路径?
解决Symfony Encore copyFiles路径配置冲突问题
目标1:复制到public/assets/@BUILDNUMBER@/images/favicon
当from指向源目录时,to参数必须使用文件名占位符保留原文件名称,否则所有文件会被尝试写入同一个目标路径,引发冲突。正确配置如下:
.setOutputPath('public/assets/@BUILDNUMBER@') .copyFiles({ from: './assets/images/favicon', // 用[name].[ext]保留原文件名,目标路径会自动创建favicon子目录 to: 'images/favicon/[name].[ext]' })
目标2:复制到已存在的public/assets/@BUILDNUMBER@/images目录
不能直接将to指向目录,否则会触发EISDIR错误,必须通过占位符指定文件名:
.setOutputPath('public/assets/@BUILDNUMBER@') .copyFiles({ from: './assets/images/favicon', // 将源目录下的所有文件直接放到已有的images目录下,保留原文件名 to: 'images/[name].[ext]' })
关键说明
[name]对应原文件的名称(不含扩展名),[ext]对应原文件的扩展名;- 若源目录包含子层级,可使用
[path]占位符保留相对路径结构; - 直接给
to设置固定目录名时,Webpack会试图将文件内容写入目录本身,而非目录下的文件,这是触发EISDIR错误的核心原因。
内容的提问来源于stack exchange,提问作者user12379994
相关产品推荐
相关产品推荐

