Skip to main content

开发

开发阶段是工程化落地最密集的环节,直接影响团队的协作效率和项目的可维护性

关键事项

1. 项目初始化

  • 优先用官方/社区脚手架(create-vite、create-next-app),再按需定制
  • 大型团队可自研 CLI 脚手架,统一技术栈 + 预置规范

2. 规范落实

  • 编码层:ESLint + Prettier + Stylelint(详见 统一编码规范
  • 提交层:Husky + lint-staged + Commitlint
  • 协作层:Code Review、PR 模板(详见 GitWorkflow

单人维护的小项目可以适当精简,避免过度工程化。

3. 构建工具

主流选型:

工具适用场景特点
Vite新项目首选开发秒级启动,原生 ESM
webpack5老项目、生态完备插件最丰富,配置复杂
Rollup类库开发产物干净,tree-shaking 友好
esbuild / SWC替代 babel速度提升 5~10x

4. 多环境管理

环境分层:dev → test → staging → production。

  • 本地:.env.local(不进 git)
  • 团队共享:.env.development.env.test.env.production
  • CI(GitHub Actions / GitLab CI):用平台的 secrets 注入
  • Docker 部署
    • docker run -e KEY=value 运行时传环境变量
    • docker-compose.ymlenvironment 字段
    • Docker Swarm 的 docker secret(挂载到 /run/secrets/
    • ⚠️ 避免用 ARG / --build-arg 传敏感信息,会持久化到镜像层
  • K8s 部署:用 Secret 资源 + envFrom / valueFrom 注入到 Pod

详细部署策略见 部署 - 自动化部署

5. Code Review

  • 时机:合并前必过;可以走 PR/MR 流程
  • 关注点:业务正确性、命名可读性、性能、测试覆盖
  • 反模式:纯挑格式问题(应该让 lint 自动处理)、空 review

6. 公共物料

  • 私有 npm:组件库、工具 hooks、自研 SDK
  • 组件库:业务组件、UI 组件
  • 工具库:util、hooks、constants
  • 推荐用 monorepo(pnpm workspace / turborepo)管理

内容索引