项目开发中node_modules包越来越大的问题🐱‍🏍🐱‍🏍🐱‍🏍

项目开发中node_modules包越来越大的问题🐱‍🏍🐱‍🏍🐱‍🏍

简介

这是关于我最近在开发一个旧项目时遇到的问题的记录。在开发过程中硬盘空间被占满了,其中node_modules占了惊人的17G省流可以直接查看第三节的问题解决方案。由于我是在云端开发,无法复制代码,所以我将以图片形式展示。实际上需要修改的代码只有一行

一、问题缘由

  • 项目是基于PanJiaChen花裤衩开源的vue后台项目模板改造的,这个项目模板对现在而言是比较老的了,但是很经典不少公司的中台项目都是基于这个改造的
  • 在一次开发过程中,win10突然警告我磁盘空间不足。经过扫描发现项目占用了高达18G的空间。通过对文件的排查,我发现node_modules竟然占了17G一般来说,node_moudules的大小也就几百M,因此我怀疑是项目缓存导致的问题
  • 通过对node_moudules里面文件分析发现.cache目录就是罪魁祸首

二、问题排查

  • 通过删除node_modules重新下载发现只有几百兆的大小

  • 每次修改完代码并重新编译运行或发布到测试环境后,node_modules都会增加几十甚至几百M

  • 使用pnpm或者yarn来管理依赖和项目也不能解决该问题

  • 最终,我通过对node_modules中的文件夹大小进行分析,发现了罪魁祸首------.cache文件夹

  • 打开.cache目录我们可以看到以下目录

  • 其中babel-loader是我们熟知的一个用于转译ES6/ES7/JSX语法到ES5Webpack加载器,这个文件夹体积倒是不大,但是terser-webpack-plugin体积非常庞大,最终确定node_moudules体积越来越大的问题是由生成该文件的Webpack加载器导致的

三、问题解决(修改Webpack加载器配置)

  • 在项目中找到了这个加载器的配置 compression-webpack-plugin

  • **将该插件的缓存功能关闭(cache: false)**解决以上问题

最后

相关推荐
NiceCloud喜云2 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby3 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
丷丩3 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
Front思4 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫6 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。7 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星7 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒7 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端
丷丩7 小时前
MapLibre GL JS第19课:实时更新要素
前端·javascript·gis·map·mapbox·maplibre gl js
Mr.Daozhi7 小时前
RAG 进阶实战:跑通 Demo 后我连续翻了 6 次车,逐一修复才真正可用(含 Gradio Web 版)
前端·数据库·langchain·大模型·gradio·rag·科研工具