Skip to content

前端工程化地图

“最新技术”不是工具清单。工程化真正要解决的是:让多人在相同规则下开发、验证、交付,并能在问题出现时快速定位。先建立流程地图,再讨论具体工具。

一条可维护的交付链路

text
需求与设计

本地开发 → 静态检查 → 自动化测试 → 构建产物 → 预览/发布 → 监控与复盘

每一层都应有明确的输入、输出和失败信号。工具只是一种实现方式,流程缺口不能靠多装几个插件填补。

六个常见层次

层次要回答的问题典型能力
包管理依赖是否可复现?锁文件、依赖审计、脚本入口
开发服务修改能否快速反馈?热更新、环境变量、本地代理
代码质量问题能否在提交前发现?格式化、Lint、类型检查
测试行为能否被重复验证?单元、组件、端到端测试
构建发布产物是否一致可追溯?压缩、分包、版本、CI
运行观察上线后能否发现并复现问题?错误采集、性能指标、日志关联

选择工具的四个问题

  1. 项目已有脚手架能否满足需求?优先利用既有约定,减少同类工具并存。
  2. 团队是否能维护它?配置复杂度、升级成本和排错能力都算成本。
  3. 它是否解决了当前可观察的问题?“其他项目在用”不是充分理由。
  4. 失败时能给出有用信息吗?一个可读的错误提示比一套黑盒自动化更重要。

一个最小可行的项目约定

json
{
  "scripts": {
    "dev": "启动本地开发服务",
    "lint": "检查代码规范",
    "test": "运行自动化测试",
    "build": "生成可部署产物"
  }
}

无论框架如何变化,团队只要能通过统一脚本完成这四件事,新成员就不必先记忆每个工具的细节。CI 应调用同一组脚本,而不是维护一份只在服务器上存在的构建逻辑。

何时该增加一项能力

信号合理的改进
同类格式问题反复出现在评审中引入格式化或静态检查,并接入提交前/CI
修复后经常出现回归为关键行为补最小自动化测试
发布依赖某个人的本地环境将构建和部署步骤写入可重复的工作流
线上错误只能靠用户描述猜测增加脱敏的错误与性能观察能力

工程化是持续减小不确定性的过程。每次只补一个真实痛点,并记录为什么引入、由谁维护、何时可以移除,工具链才不会失控。

为复用而记录,为理解而整理。