Parcel项目体积异常过大(68GB)问题排查求助
解决Parcel 2项目体积异常过大的问题
1. 先清理Parcel缓存
Parcel默认会在项目根目录的.parcel-cache文件夹存缓存,处理大视频时这个文件夹很容易累积大量冗余文件,直接拖走删掉就行。嫌手动删麻烦的话,也可以在package.json里加个清理脚本:
"scripts": { // 保留原有脚本,新增下面这行 "clean": "rm -rf .parcel-cache dist" }
运行npm run clean后再重新构建,看看体积会不会降下来。
2. 排查隐藏的大文件/文件夹
别忽略系统或编辑器生成的隐藏内容,比如Mac的.DS_Store、Windows的Thumbs.db,还有编辑器的缓存目录(比如.vscode或.idea里的缓存),这些都可能悄悄占大量空间。用系统自带的磁盘分析工具扫一遍项目目录,找出那些体积异常的隐藏文件夹。
3. 检查Parcel对视频的处理逻辑
Parcel默认会复制未处理的资源到dist目录,如果视频被重复引用、或者在多入口文件里被多次引入,可能会生成多个副本。你可以在项目根目录建个.parcelrc文件,配置视频资源的处理规则,避免不必要的复制:
{ "transformers": { "*.{mp4,webm,ogg}": ["@parcel/transformer-raw"] } }
这个配置会让Parcel直接复制视频文件,不做额外处理,减少冗余。
4. 确认prebuild脚本是否真的生效
你的prebuild脚本是rm -rf dist,但Windows环境下这个命令可能因为文件被占用删不干净,导致旧的dist文件残留累积。换成跨平台的rimraf工具更稳妥:
- 先装依赖:
npm install rimraf --save-dev - 修改prebuild脚本:
"prebuild": "rimraf dist"
这样能确保每次构建前彻底清空dist目录。
其他排查点
- 检查项目根目录有没有备份文件、临时下载的大文件,比如你可能不小心把视频的多个副本存在了src以外的地方,这些都会算进项目总大小。
- 用
du -sh *(Mac/Linux)或者dir /s(Windows)命令在项目根目录执行,能直观看到每个文件夹的大小,准确定位哪块占了额外空间。
内容的提问来源于stack exchange,提问作者ftp82
相关产品推荐
相关产品推荐

