⚠️Warning:Windows命令行删除文件夹有坑。
场景
使用webpack的时候,配置文件hash之后,每次文件内容更新,就会重新生成js文件放到dist/下,并且之前生成的js文件不会被覆盖,这样时间久了之后dist/下的文件会越来越多。
我想在package.json里加一条build命令,每次运行yarn build或者npm run build的时候,会先删除dist目录然后再运行webpack,不过,在尝试使用rm -rf删除dist/的时候出错了:

经过搜索和尝试,发现这样写是能用的:
if exist dist rmdir /s /q dist) && webpack |
在package.json配置:
"scripts": { |
这样就能直接使用yarn build来启动webpack构建文件了。
📄参数说明:
/s:递归删除文件夹。如果不加这个参数,文件夹里面有东西的时候删除不了。
/q:安静模式删除。如果不加这个参数,删除的时候会让你选Yes/No来确认。
参考
Delete a directory and its files using command line but don’t throw error if it doesn’t exist
Microsoft Doc - rmdir
Author: kpt
Permalink: http://kpt.ink/2021/10/12/Windows-rmdir/
文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。