深色模式
做前端整整两年了,今年算是真正进入"工程化"的视野。借这篇文章梳理一下,也给自己一个年底回顾的锚点。
从"能跑"到"工程化"的转变
刚入行的时候,能让页面跑起来就行。今年开始意识到,做产品需要的不只是能跑:
以前关心:这个功能能不能做
现在关心:这个功能好不好维护、好不好测试、好不好协作具体体现在:
代码组织:从把所有逻辑堆在组件里,到按关注点分离(API 层、状态管理、工具函数)
构建工具:从"项目里有 webpack 配置,但我看不懂",到能根据需要配置 Tree Shaking、代码分割、环境变量
代码质量:引入了 ESLint + Prettier,现在代码风格统一了;开始写单元测试,至少核心逻辑有测试覆盖
今年收获最大的几个知识点
1. Vue 响应式原理
知道 Object.defineProperty 是怎么工作的之后,很多"奇怪的现象"都有了解释:
javascript
// 为什么这样不响应?
this.obj.newKey = "value"; // ❌
// 为什么这样可以?
this.$set(this.obj, "newKey", "value"); // ✅
Vue.set(this.obj, "newKey", "value"); // ✅2. 异步 JavaScript
javascript
// 回调 → Promise → async/await 的演进
// 现在理解了为什么 async/await 是生成器+Promise 的语法糖
// 也知道了 Promise.all/race/allSettled 的区别
// 这让我在处理并发请求时有了更多工具
const [users, orders] = await Promise.all([api.getUsers(), api.getOrders()]);3. 性能优化
Lighthouse 成了日常工具
学会看 Chrome DevTools 的 Performance 面板
理解了 CRP(关键渲染路径)
用 transform/opacity 做动画代替 left/top4. TypeScript
typescript
// 从"不知道有什么用"到"真香"
// 最大的收获不是类型安全本身,而是 IDE 的智能提示
// 重构的时候,TS 的类型错误帮我找到了很多漏改的地方还没掌握好的
坦白说,有些东西还是处于"知道但不熟"的阶段:
- 测试:写了一些单元测试,但集成测试、E2E 测试没有实践
- CI/CD:项目里有 Jenkins,但我不太懂配置,出问题了还是找运维
- 性能监控:理论上懂,但线上监控系统还没搭起来
- Nginx 配置:能改,但不能从头写
2019 年想做的
React:现在团队主要用 Vue,但 React 的生态很强,React Hooks 的提案很有趣
TypeScript 进阶:现在只会基础用法,高级类型(条件类型、映射类型)想深入学
Node.js:写一个完整的 BFF(Backend for Frontend)层,不只是写脚本
小结
2018 年是从"熟练工"到"工程师"转变的一年。技术不只是会用,还要理解原理,还要懂得如何在团队中协作。
希望 2019 年写的代码质量更上一层楼。