You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

webpack配置CopyPlugin复制文件时连带src目录的问题如何解决

问题解决:webpack CopyPlugin复制文件携带src目录层级的处理方法

出现该问题的核心原因是copy-webpack-plugin的默认路径匹配规则:当from参数的路径包含父级目录(本次为src)且未指定匹配上下文时,插件会保留匹配文件相对于项目根目录的路径结构,因此会将src/xxx.html整体复制到output目录下,多出来一层src文件夹。

方案1:指定context参数(最推荐)

通过context属性指定文件匹配的根目录为src,此时from的匹配路径相对于src计算,复制时就不会携带src层级,配置如下:

new CopyPlugin({
    patterns: [
        {
            context: "./src", // 匹配根目录设为src
            from: "*.html", // 匹配src下所有html文件
            to: path.resolve(__dirname, "output") // 优化:path.resolve推荐用多参数写法,兼容不同系统路径分隔符
        }
    ]
})

方案2:使用文件名占位符指定输出规则

如果不需要修改context,也可以在to参数中使用webpack内置的文件名占位符,直接指定输出文件直接放在output根目录:

new CopyPlugin({
    patterns: [
        {
            from: "./src/*.html",
            to: path.resolve(__dirname, "output/[name][ext]") // [name]对应原文件名,[ext]对应原文件后缀
        }
    ]
})

两种方案在copy-webpack-plugin所有主流版本中均兼容生效。

内容的提问来源于stack exchange,提问作者Teodor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:21:04