为了个 Hello World 引入 800MB 垃圾,这届前端真的病了

摘要:写个 Hello World 需要 800MB 依赖?你以为你在做架构,其实你只是在给简历贴金。是时候聊聊"简历驱动开发"这个毒瘤了。


2015 年,写一个 Web 页面只需要 1 个 .html 文件,双击就能跑。

2026 年,我们需要下载 800MB 的 node_modules,配置 5 个 config 文件,等待 30 秒的构建------只为了在屏幕上打印一行 "Hello World"。

这不叫"工程化"。这叫技术诈骗

你只想写一个简单的 landing page,展示一行 "Hello World"。

但看看你引入了什么?

Next.js(因为要 SSR)、TypeScript(因为要类型安全)、Tailwind(因为要原子化 CSS)、ESLint + Prettier + Husky(因为要规范)、Jest(因为要 TDD)...

恭喜你,为了拧一颗自行车的螺丝,你成功造出了一枚等待发射的火箭。

这就是 2026 年的前端魔幻现实:我们正在用战术上的勤奋(配置工具),掩盖战略上的懒惰(思考业务)。


你的"架构",其实是"简历驱动开发"

承认吧,老哥。

当你在项目里引入 GraphQL 的时候,真的是因为业务数据关系复杂到 RESTful搞不定了吗?

还是因为你想在简历的"技能树"那一栏,多写一个时髦的关键词?

这种病,叫 RDD (Resume Driven Development)

它的症状很典型:

  • 不管项目多小,先上微前端。
  • 不管团队几人,先上 Monorepo。
  • 不管有没有必要,先把状态管理(Redux/Zustand)整上一套。

"在这个行业,比 Bug 更可怕的是:你为了证明自己'懂架构',生生造出了一座没人能维护的屎山。"

你以为你在给职业履历加分。
其实你是在给自己,和接盘的兄弟,挖一个深不见底的巨坑。


复杂度守恒定律:你只是个配置工程师

软件工程有一个冷酷的真相:业务复杂度是恒定的。

如果你不在代码逻辑层解决它,它就会百倍地反噬在工具链上。

看看现在的 package.json,简直就是一份免责声明

json 复制代码
// ☠️ 下面这些东西,只要有一个版本不对,你的项目就挂了
"dependencies": {
  "webpack": "^5.x",  // 也就是配了 300 行 config
  "babel-loader": "...", // 也就是为了转译个箭头函数
  "postcss": "...",   // 也就是为了加个前缀
  "core-js": "..."    // 也就是为了兼容 IE11 (R.I.P)
}

你每天上班做的最多的事,不是写业务逻辑,而是:

  1. 升级依赖。
  2. 解决版本冲突。
  3. 调试构建报错。
  4. 等待 npm install

我们把自己从"程序员"变成了"配置工程师"。

当那个写 jQuery 的老哥早就下班回家抱孩子的时候,你还在 Google 搜索 "Webpack 5 polyfill node core module error"。

这不叫技术护城河,这叫作茧自缚。


防御性编程?不,是防御同事

为什么现在的项目这么重?

除了 RDD,还有一个更扎心的理由:大家都不信任彼此的代码。

TypeScript 的流行,很大程度上不是为了防 Bug,而是为了防同事。

  • "我怕你传个 undefined 进来炸了我的函数。"
  • "我怕你改了这个对象导致我那边崩了。"

于是我们层层封装,层层设防。

typescript 复制代码
// 🛡️ AI 眼中的"防御性编程"
// 实际上只是为了防止坐在你隔壁的实习生把系统搞挂
interface IUserProps {
  data?: {
    attributes?: {
      name?: string | null;
    }
  }
}

// 最终写出来的逻辑比业务本身还复杂 10 倍
const userName = props?.data?.attributes?.name ?? 'Unknown';

我们花费了 80% 的精力在处理类型体操和边界防御,只有 20% 的精力在思考:这功能真的是用户想要的吗?


真正的架构师,敢于做减法

在 AI 已经能帮写 90% 面条代码的今天,什么才是你的核心竞争力?

是你会配 Webpack 吗?(DeepSeek 一秒钟生成 10 个配置)

是你会写 CRUD 吗?(Copilot 还没等你敲完就补全了)

不。是你敢于说"不"的能力。

真正的顶级架构师,不是看他引入了多少新框架,而是看他砍掉了多少伪需求和伪架构

  • 能用 CSS 解决的,绝不上 JS。
  • 能用原生 Fetch 的,绝不上 Axios 封装。
  • 能用单页面的,绝不上微前端。

"技术是为了解决业务问题的,不是为了在 GitHub 上炫技的。"

当所有人都在做加法的时候,敢于做减法的人,才是那个看透了矩阵(Matrix)真相的人。


别让工具成为了你的主人

兄弟们,醒醒吧。

那个 800MB 的 node_modules 黑洞,填补不了你内心的技术焦虑。

下次开新项目的时候,试着问自己一个问题:
"如果把这些华丽的库都剥离掉,我还能写出优雅的代码吗?"

如果答案是迟疑的,那你可能要注意了。

因为当潮水退去(AI 接管编码),只会"调包"的裸泳者,第一个被拍死在沙滩上。


今日互动

翻翻你的 package.json,哪个库是你觉得最没用但又不敢删的?评论区爆料,让大家开心一下。

相关推荐
mCell7 小时前
如何零成本搭建个人站点
前端·程序员·github
mCell7 小时前
为什么 Memo Code 先做 CLI:以及终端输入框到底有多难搞
前端·设计模式·agent
恋猫de小郭8 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
少云清8 小时前
【安全测试】2_客户端脚本安全测试 _XSS和CSRF
前端·xss·csrf
银烛木8 小时前
黑马程序员前端h5+css3
前端·css·css3
m0_607076608 小时前
CSS3 转换,快手前端面试经验,隔壁都馋哭了
前端·面试·css3
听海边涛声8 小时前
CSS3 图片模糊处理
前端·css·css3
IT、木易8 小时前
css3 backdrop-filter 在移动端 Safari 上导致渲染性能急剧下降的优化方案有哪些?
前端·css3·safari
0思必得08 小时前
[Web自动化] Selenium无头模式
前端·爬虫·selenium·自动化·web自动化
anOnion8 小时前
构建无障碍组件之Dialog Pattern
前端·html·交互设计