使用CopyWebpackPlugin无法忽略指定文件夹或文件的问题求助
解决CopyWebpackPlugin无法忽略指定文件/文件夹的问题
我之前也踩过这个坑!问题出在你配置的ignore路径上——它需要相对于from指定的目录,而不是从项目根目录开始的完整路径。
为什么你的配置不生效?
你写的ignore: ['src/assets/img/folder/test.png'],但from已经指向了src/assets,插件会在src/assets目录下去找src/assets/img/folder/test.png,显然这个路径不存在,所以忽略规则根本没匹配到目标文件。
正确的配置方式
1. 忽略单个文件
把ignore里的路径改成相对于from的相对路径:
new CopyWebpackPlugin([ { from: 'src/assets', to: 'assets', ignore: ['img/folder/test.png'] } ])
2. 忽略整个文件夹下的所有内容
如果要忽略img/folder里的所有文件(包括子目录),推荐用**/*来匹配所有层级:
new CopyWebpackPlugin([ { from: 'src/assets', to: 'assets', ignore: ['img/folder/**/*'] } ])
(注:单独用*只能匹配当前目录下的文件,子目录里的内容不会被忽略,**/*才能递归匹配所有层级)
针对新版插件的补充(v6+)
如果你用的是CopyWebpackPlugin v6及以上版本,配置格式换成了patterns数组,核心的路径规则还是一样的,只是要把ignore放到globOptions里:
new CopyWebpackPlugin({ patterns: [ { from: 'src/assets', to: 'assets', globOptions: { ignore: ['**/img/folder/test.png', '**/img/folder/**/*'] } } ] })
内容的提问来源于stack exchange,提问作者PierBJX
相关产品推荐
相关产品推荐

