标准答案

  1. 先说明工程化目标:提升交付效率、质量稳定性、协作一致性和线上可观测性。
  2. 开发阶段包括脚手架、目录规范、TypeScript、lint、format、组件规范和本地调试。
  3. 构建阶段包括模块打包、代码分割、环境变量、资源 hash、缓存策略和产物分析。
  4. 质量阶段包括类型检查、单元测试、组件测试、E2E、CI 门禁和依赖可复现。
  5. 发布和线上阶段包括灰度、回滚、CDN、监控、日志、告警和性能基线。

题目解析

工程化不是工具清单,而是一套让团队稳定交付前端应用的机制。每个工具都应该能回答“它解决哪类问题,放在哪个阶段,失败时怎么兜底”。

一个清晰回答可以按链路展开:开发前如何统一项目结构和规范,开发中如何提高反馈速度,提交后如何用 CI 保证质量,上线时如何控制风险,上线后如何监控和回滚。

高级回答还要讲取舍。小项目不需要完整平台化,大型团队不能只靠口头规范;工具越多,维护成本越高,所以要围绕风险和团队规模逐步建设。

代码示例

可以用交付链路组织工程化体系,而不是按工具名散讲。

Text
development:
  scaffold, TypeScript, lint, component conventions

build:
  bundler, env, code splitting, cache, source map

quality:
  typecheck, tests, CI, lockfile, review

release:
  CDN, gray release, rollback, changelog

observe:
  errors, logs, Web Vitals, alerts

常见误区

  • 只背工具名,不说明每个工具解决什么问题。
  • 只讲构建,不讲测试、发布、监控和回滚。
  • 把大厂完整平台方案套到小团队场景,忽略成本和阶段性建设。

作者信息