重拾前端热情
上一次写前端技术博客是2年前,也就是2022年年底,写了一篇《浅谈业务中台前端设计》,之后就再也没有写过公开的前端技术文章。
虽然我写前端技术文章的初衷是为了分享给更多的人看,让大家少才一些坑,但是随着时间的推移,有种用爱发电的感觉,所以就停更了。
一晃2年过去了,消失的这2年我做了什么呢?
- 踏踏实实老老实实上班还贷款
- 转移重心到生活上:结婚,装修,旅行
大家好像对前端技术丧失了热情
不知道大家有没有发现,曾经的一些前端技术博客网站,文章很久都没有更新甚至网站都挂了,比如我收藏夹里的奇舞团(网站挂了),淘系技术博客(网站挂了),腾讯AlloyTeam(上一次更新还是在2021年4月16日),百度的FEX(上次更新是2020年)。或许是迁移到微信公众号或者掘金这些技术平台,但给人的感觉就是不想维护了。
2021年以前有很多前端技术大会,比如阿里的D2,Vue的vue conf,蚂蚁的体验技术大会,CSS大会等等。各式各样的日新月异的前端技术层出不穷,仿佛是给前端开发者们不断的注入鸡血。但是回看今天,也就是2025年的1月份,好像前端技术大会的热度下降了非常多。
我最近参加的一次还是2023年8月份掘金在杭州爱力中心举办的一场《聊聊前端工程化和未来》,当时人不少,但是远远不及2017年12月第10届阿里D2的热度,我记得当时有好几个会场人满到没有座位,大家站在走廊里也看得津津有味,乐此不疲。
总之就是从2020年开始,仿佛快速发展的前端被按下了暂停键,可能是因为整体经济大环境的不好,导致各个互联网公司的前端开发人员骤降,从我个人以及身边的朋友和同学的信息共享来讲,这几年裁员裁的真的非常猛。
如何重新拾起前端热情
所以如何去重新拾起前端热情呢?
其实是没有标准答案的。说一下这几年我做了哪些事情去阶段性的拾起前端热情。
- 写npm包
- 尝试用rust写包
下面我详细介绍一下写了哪些包,以及它们解决了什么问题
musk-clone: 生成具有相同数据结构的模拟影子克隆,速度与Elon Musk一样
musk-clone这个包是我日常工作里重度使用的一个包,看一下下面这个场景
开发阶段的时候,服务端给了接口文档,你造了一个对象,然后想给列表里造11个或者100条相同字段的对象,而且希望某些字段,比如id,name这些数据不一样。
通常情况下我们会复制粘贴出来改一改,或者通过一些mock工具,配置一套规则去生成。
为什么我不喜欢这2种方式?
- 复制粘贴 11个改11遍,100个改100遍,太低效了。
- mock工具配规则 不仅要学习mock工具怎么使用,正则配起来也好麻烦
那么就干脆自己写一个工具吧,传一个对象进去,然后写个数字,比如传个100,直接返回100个数据结构和传入对象一模一样,只是数据内容发生了变化的100个数据。
比如"传入1个对象,快速生成包含了3个对象的数组":
import { muskClone } from 'musk-clone'
const src = { foo: "str", bar: 1, baz: true };
const target = muskClone({source: src, repeat: 3});
console.log(target);
// [
// {
// "foo": "str-GEoG0NphDqhwQZ44aH2LF",
// "bar": 5,
// "baz": true
// },
// {
// "foo": "str1-mxD-IMD6U9BocOp8ql_XY",
// "bar": 7,
// "baz": true
// },
// {
// "foo": "str-ldPI7kVtHeUOMph1U4yi8",
// "bar": 3,
// "baz": false
// },
// ]
除此以外还有很多其他特性,比如支持深层嵌套,支持忽略mock对象的某些key,支持自定义key的返回内容等等。
eatnp: 快速释放前端项目node\_modules存储空间(使用Rust语言开发)
这个包在rust包管理平台的地址在https://crates.io/crates/eatnp,解决了什么问题呢?
每个现代化的前端项目,都有一个远大于代码本身体积的的node_modules用于本地开发及构建部署。
当电脑里这样的前端项目非常多的情况下,会导致储存空间不够。
为了开发便捷,我们一般不会连带项目代码直接删除。
当我们聚焦于某个或某几个项目时,可以将其余非当前迭代中的node_modules吃掉,从而释放储存空间
一句话总结就是“你的电脑里前端项目越来越多,node\_modules庞大的空间占用,导致你不得不定时删除一些node\_modules来清磁盘空间,eatnp可以快速帮你删除”。
开发了这个包以后,有小伙伴说有个npm包npkill也有类似功能,而且npkill提供了可视化的界面。
那么eatnp的优势在于哪里呢?足够暴力,在eatnp后面输入一个路径,就会递归删除路径所有目录下的node\_modules,一键删除就是快。
eatnp /Users/foo/base
deleted: "/Users/foo/base/app1/node_modules | size 402 MB"
deleted: "/Users/foo/base/app2/node_modules | size 502 MB"
deleted: "/Users/foo/base/app3/node_modules | size 42 MB"
deleted: "/Users/foo/base/app4/node_modules | size 98 MB"
deleted: "/Users/foo/base/app5/node_modules | size 232 MB"
deleted: "/Users/foo/base/app6/node_modules | size 451 MB"
deleted: "/Users/foo/base/app7/node_modules | size 423 MB"
deleted: "/Users/foo/base/app8/node_modules | size 984 MB"
deleted: "/Users/foo/base/app9/node_modules | size 322 MB"
deleted: "/Users/foo/base/app10/node_modules | size 242 MB"
deleted: "/Users/foo/base/app11/node_modules | size 121 MB"
除了这2个包其实还写了一些,比如react-request-queue,testfile-gen等等,就不一一列举了。
AI浪潮下的前端开发辅助工具
自从chatGPT问世以来,AI类型的工具层出不穷。
- ChatGPT:GPT-4o还是蛮强的,有一些前端相关的问题,它可以给出好几种解决办法
- Copilot:公司给开通了账号使用,但是得到的答案总是差钱人意,个人不是很喜欢用这个工具
- Cursor:它具备codebase能力,也就是分析你项目中的代码,然后写出写法类似的代码,非常强大
现在AI工具层出不穷,极大的提高了前端开发的效率,以前几个前端才能做的事,现在可能一个经验丰富的前端,再配合AI工具打下手,得到的效果是差不多的。也和前端项目的复杂度有关,如果是前端项目复杂度高,并且各个模块间的内容重叠不多的话,AI能提效的地方不大。
所以AI工具可以进行辅助前端开发导致的结果就是,前端开发的就业市场形式更加严峻。虽然有一些与AI平台相关的前端工作岗位,但是大量的低复杂度的前端开发工作,其实是面临着一定风险的。
如何对抗这种前端热情的消失
- 个人感觉核心方法就是到位的激励。虽然到位的激励很大程度上取决于外部环境,个人是无法掌控的,但是如果希望能获得更多的前端开发热情,抱着否极泰来的积极乐观的工作态度,长期坚持下去,或许就真的能做到良性循环。
- 要在生活上有足够的热情,生活得开心了幸福了,工作的心情就好
- 一定要积极锻炼身体,距离退休还有好几十年,锻炼身体才能可持续发展
临近年尾的一些碎碎念。
采访一下,大家现在还有当年的前端热情吗?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。