基于 Monorepo 的前端工作流

会议室:待定
出品人:林昱

随着前端工程化的普及以及项目复杂度的演进,越来越多的厂商(如 Google 、M... 展开 >

专题出品人:林昱

阿里巴巴高级前端专家

2010 年加入阿里巴巴至今有 10 年的电商领域前端研发架构经验,目前主要负责淘系店铺业务以及创新业务,带领团队完成基于 Serverless 的云 + 端研发模式升级,主导集团云端一体研发平台的设计工作,有多次双 11 前端负责人经历,并深度参与过淘系搭建域的建设,有比较丰富的前端工程经验,也曾经负责过阿里巴巴前端大学方向,主导前端核心方向在竞赛方面的落地。

专题:基于 Monorepo 的前端工作流

随着前端工程化的普及以及项目复杂度的演进,越来越多的厂商(如 Google 、Microsoft 等)和开源项目(如 Vue3.0、Babel 等)都在使用 Monorepo 进行自身代码管理,基于 Monorepo 的工作流程虽然帮助我们解决了很多问题,但它并不是银弹,使用的过程中也会带来很多问题,那么我们应该如何正确地使用 Monorepo 来提升前端工作流的整体效率呢?本次专题的分享将会为大家浅显易懂地介绍 Monorepo 前端工作流的一些理念,同时带来各大厂从 0 到 1 的实践。

by 林伟轩

阿里巴巴
淘系技术部 前端开发工程师

本次分享适用于喜欢“折腾”的前端同学,我们会让你迅速对 Monorepo 这一概念拥有深入的了解。课程不需要任何的前置知识,我们会从最基础的部分开始,通过与现在常用的一个项目一个仓库(Multirepo/Polyrepo)的项目管理方式比较,了解 Monorepo 方案的优势所在。接着,我们会来聊一聊目前社区的各种 Monorepo 方案,包括这些方案的核心关注点,它们是为了什么而生,又是如何工作的?最后,我们会聚焦目前 Monorepo 的第三种形态:Monorepo Framework,它们在此前社区方案的基础上发生了哪些演进?最后来讲述基于 Nx Workspace,在业务场景下去应用 Monorepo Framework 的过程中我们需要关注并解决哪些问题。

演讲提纲:

  1. Monorepo 基础概念介绍
    • Monorepo 与 Polyrepo 优劣势比较
    • Monorepo 工程的定义
    • Monorepo 的适用场景
  2. Monorepo 方案演进:依赖管理与任务调度
    • Monorepo 方案的核心关注点
    • 工程依赖处理
    • 项目依赖关系
  3. 为业务场景而生的 Monorepo Framework
    • 业务与工程 Monorepo 方案关注点对比
    • 在上一代方案基础上的演进
    • Nx Workspace 介绍
    • 基于 Nx 实现开发效率提升、权限控制、自定义插件
    • Nx Workspace 对比 Turborepo
  4. 分享总结
    • Monorepo 方案的过去、现在、未来
    • 了解 Monorepo,熟悉 Monorepo,拥抱 Monorepo

你将获得:

  • 了解如何通过 Monorepo 进行更高效的项目管理
  • 了解 Monorepo 方案的核心关注点与工作原理
  • 了解 Monorepo Framework 及其在实际业务场景中的应用

by 吴东

字节跳动
互娱研发 前端工程师

本次分享我会从基础的 Monorepo 使用场景方案开始,结合开源社区一些常见库的示例,以及目前社区中的一些主流的前端 Monorepo 方案,帮助你清晰迅速地了解其好处。同时会对比一些多仓库管理的方案,分析 Monorepo 的优势和缺点,以及如何自己来构建一个工具库类型的 Monorepo 仓库。也会分享一下如果利用当下的工具来组合出一套最佳实践,最后也会总结一些我个人对 Monorepo 未来的一些期待。

演讲提纲:

  1. Monorepo 简介
    • 什么是 Monorepo
    • Monorepo VS Polyrepo
  2. 社区常见解决方案
    • 依赖管理
    • 包版本发布、管理
    • 脚本管理
    • 方案选型
  3. 工程化场景 Monorepo 最佳实践
    • pnpm workspaces
    • Changesets
    • Turborepo
  4. Monorepo 的未来期待

你将获得:

  • 了解 Monorepo 带来的收益以及好处
  • 拓展了解社区中一些主流的 Monorepo 方案
  • 了解搭建工具类型的 Monorepo 仓库的流程

by 吴东

字节跳动
互娱研发 前端工程师

前面的视频介绍了基于 pnpm、Changesets、Turborepo 的最佳实践方案,本次分享将针对这样的方案来做个实践。

参考 demo: https://github.com/fireairforce/monorepo-demos

演讲提纲:

  1. 项目搭建
    • 初始化项目
    • 项目结构
  2. 开发构建
    • 源码引用
    • 产物引用
    • 代码风格
    • 测试方案
  3. 发包、部署
    • 项目发布
    • 项目部署
  4. 常见问题

你将获得:

  • 了解从 0 到 1 搭建一套稳定、流程完整的工具类型的 Monorepo 仓库

by 左威威

袋鼠云
数栈 UED 团队 Leader

Monorepo 架构并不是一个新技术、随着现代 Web 工程的复杂度上升,越来越多的 Web 项目开始启用这一项工程技术。袋鼠云数栈作为一个中大型的 PaaS 产品,过去几年我见证并参与过多次架构的调整和升级,从单一仓库到 Polyrepo 架构,又从 Polyrepo 架构到如今的 Monorepo 架构,其中我们有不少的思考。希望本次的迁移实践经验,能启发有类似业务场景的同学。

演讲提纲:

  1. 业务背景
    • 数栈产品业务简介
    • 数栈 Polyrepo 架构的现状
  2. 方案制定
    • Monorepo 架构设计
    • Monorepo 技术选型
    • 方案测试
    • 历史版本
    • 迁移时机
    • Git 提交权限校验
  3. 边迭代、边迁移
    • 飞行中如何换轮子
    • 子应用迁移流程
    • Monorepo 仓库目录结构
    • 仓库自动化迁移工具
    • 统一子应用脚手架工具
    • 调整 Git Workflow
  4. 上线后
    • 做好开发体验不适、阵痛的准备
    • 与测试、运维团队保持链接
    • 持续收集并反馈开发同学的问题
    • Review 并规划下个迭代

你将获得:

  • 中大型 Web 产品矩阵迁移 Monorepo 架构的实践经验
  • 了解 Monorepo 常见的业务场景
  • 了解迁移 Monorepo 架构关于工程、团队协同等方面的挑战

交通指南

来广营·朝来科技园

Laiguangying Beijing
地址: 北京市朝阳区来广营朝来科技园
  • 微信咨询

  • 电话咨询

    联系电话:+86 13167596032

微信联系我们