项目开发中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)**解决以上问题

最后

相关推荐
浮生望6 分钟前
BFF架构实战:用Express+SSE为Vue3搭建安全的流式对话中间层
前端
达子66615 分钟前
第10章_HarmonyOs开发图解 用JS开发UI
vue.js
先吃饱再说29 分钟前
React 组件通信:从 Props 单向传递到自定义事件
前端·react.js·前端框架
swipe34 分钟前
05|(前端转后全栈)不手写一堆 SQL,后端怎么操作数据库?MyBatis-Plus 入门
前端·后端·全栈
swipe39 分钟前
04|(前端转后全栈)前端状态为什么不够用?从页面数据到 MySQL 持久化
前端·后端·全栈
橘子星40 分钟前
别光看教程!手把手拆解 React Todo 项目,一文吃透 5 个核心概念
前端·javascript
奶糖 肥晨44 分钟前
想return数据 返回的确是函数问题处理
vue.js
大白要努力!1 小时前
纯前端实现 PDF 加水印工具 —— 零后端、支持中文、实时预览
前端·pdf·html
石小石Orz1 小时前
TRAE SOLO实战:实现一个桌面3D助手
前端·人工智能
蜡台1 小时前
使用 uni-popup 实现数据选择器Data-Picker
前端·javascript·html·uniapp·uni-popup·data-picker