Skip to content
大纲

前端工程化(bata)

从开发,规范,测试,lint,构建,部署,监控,集成,微服务等多个维度,以组合拳的形式,场景化的提升前端工程师的认知 实现整个前端团队底层链路的统一

产品架构

例子:从产品角度来说项目应该有

  • 统一:支付 | 登录注册 | wik知识共享仓库 | 组件库 |接口规范|前端构建工具| 研发流程规范 |监控环境|测试环境|项目模板(业务和工具)| 产品所有权限控制

  • 私有的npm仓库

私有npm仓库

  1. verdaccio 这里我推荐使用

  2. Nexus

组件规范与设计

组件库

vite+vue+vitepress

(vite/webpack)+react+dumi

业务项目构建

  • spa:

    • vite(冷启动 基于esm+esbuild+rollup)
    • webpack
  • ssr:

    • nuxt.js(vue)
    • next.js(react)

Git提交与编写代码规范

husky

当您提交或推送时,您可以使用 husky 来检查您的提交消息、运行测试、检查代码等Husky 支持所有 Git 钩子。

Typescript

js的超集,优秀的静态检测能力,降低维护成本和,低级错误的出现

Eslint

中文官网

Airbnb JavaScript Style Guide 英文| Airbnb JavaScript Style Guide 中文

任务管理

管理项目进度,推荐

  1. PingCode

  2. Worktile

  3. Notion

  4. SmartTask

  5. Teambition

  6. Jira

  7. MeisterTask(免费的看板任务管理工具)

  8. Flowus

  9. gitlab

  10. 飞书

  11. 钉钉

前端监控

sentry

线上Debug手段

SourceMap

开发mock

这里我只推荐

Apipost = Postman + Swagger + Mock + Jmeter

性能测试

OneAPM Browser Insight

YSlow/PageSpeed

单元测试

Jest

vitest

持续集成与发布:CI/CD

CI CD一般包含三个概念:持续集成(Continuous Integration ,CI),持续交付(Continuous Delivery),持续部署(Continuous Deploy)

一般来说使用 我们都是使用Docker来处理

1. 持续集成CI

持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成

ps:(ci)代表专注ci

  1. Jenkins(ci)
  2. Drone(ci)
  3. Github actions ci 开源常用
  4. Wercker(ci)
  5. Snap(ci)
  6. TeamCity(ci)
  7. Circle ci 开源常用
  8. Travis ci 开源常用
  9. Codeship(ci)
  10. DaoCloud有私有版

持续交付

持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。

持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

持续部署

持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。

持续部署的前提是能自动化完成测试、构建、部署等步骤。它与持续交付的区别

  • 方案1(大而全) GitLab-CI 基于GitLab-CI

  • 方案2(小而美)

    gitea + drone

持续交付(CD)通常是指整个流程链(管道),它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本,基本上没有任何人为干预。

CI/CD

GiteaDrone


其他

纯 Git 实现前端 CI/CD

参考1