在these instructions之后,我已经能够将文件从它们的位置复制到相对输出目录中。
.setOutputPath('public/assets/@BUILDNUMBER@')
.copyFiles({
from: './assets/images/favicon',
})
文档继续解释说,有一个可选的“到”目标路径,我想成为“/images/favicon”(这样整个输出路径将是public/assets/@BUILDNUMBER@/images/favicon),但我希望写出来的方式在我运行webpack时会产生错误。
.setOutputPath('public/assets/@BUILDNUMBER@')
.copyFiles({
from: './assets/images/favicon',
to: 'images/favicon'
})
Conflict: Multiple assets emit different content to the same filename images/favicon. Original source assets/images/favicon/ms-icon-150x150.png
我会注意到,当前自动生成的@BUILDNUMBER@目录有一个images子目录,但没有favicons子目录,我也尝试过指向已经存在的images目录,但它产生了这个错误:
Error: EISDIR: illegal operation on a directory, open '/opt/my-site/public/assets/@BUILDNUMBER@/images'
那么,如何将copyFiles的“to”路径设置为指向public/assets/@BUILDNUMBER@/images或public/assets/@BUILDNUMBER@/images/favicon呢?
1条答案
按热度按时间dsekswqp1#
我想你漏掉了“to”参数里的占位符。
查看错误消息:
Webpack认为“images/favicon”是文件名。
或许试试这个:
以下是支持的占位符列表:https://github.com/webpack-contrib/file-loader#placeholders
例如,如果您使用版本控制(
.enableVersioning()
),您还必须添加哈希值: