简介

预计阅读时间: 4 分钟

Turbo 是下一代前端开发工具链, 使用 Rust 编写, 他由 3 个主要部分组成

  • Trubopack: 继承自 Webpack 的增量打包机
  • Turborepo: 增量构建系统
  • Turbo engine: 底层的增量计算和缓存引擎
什么叫增量构建

增量构建是一种构建方法, 他的主要目的是提高开发效率和节约资源. 在软件开发尤其是大型项目中, 每次微小的修改如果都触发整个项目的重新构建, 将会非常耗时而且没有必要. 增量构建技术就可以让我们只重新构建那些自上次构建依赖发生改变的代码或资源部分, 而跳过没有变化的部分 (或许就是你这次修改的文件).

增量构建的核心特点包括:

  1. 节省时间: 由于只重新编译或处理变更的文件, 大大减少了构建所需要的时间
  2. 提升开发效率: 开发者可以快速的看到他们的更改效果, 加快了调试和迭代的速度
  3. 资源优化: 减少了 CPU、内存等资源的消耗
  4. 持续集成/持续部署 (CI/CD): 在自动化流水线中, 增量构建能够使快速部署成为可能, 加快软件交付流程

应用场景示例:

Web 开发中的 Webpack: 在使用 Webpack 作为模块打包工具时, 配合 webpack-dev-server, 他能够监视文件变化, 仅重新打包发生变化的模块, 实现快速的热更新 Android Studio 与 Gradle: Android 应用开发中, Gradle 构建系统利用其内置的增量构建能力、仅重新编译有变动的源代码文件或依赖, 而不是整个目录 大数据处理工具如 Apache Kylin: 在大数据分析领域, 增量构建用于避免对整个数据集的全量计算, 而是仅处理新到达的数据段, 适用于频繁更新的大数据立方体 (Cube)

总之, 增量构建的核心价值在于通过智能化的识别并处理真正需要重新构建的部分, 从而达到高效、快速的构建目的.

补充

Turborepo 是一个针对 JavaScript 和 TypeScript 代码库进行优化的智能构建系统.

他可以使用缓存来增强本地设置并加快项目持续集成 (CI) 的速度.

Turborepo 一开始的设计就是增量采用的, 你可以随时把他加入到你的项目中, 而不是必须在创建项目的时候就加入.

Turborepo 的 monorepo 可以和 npmpnpmyarn 等包管理工具配合使用, 如果觉得你现在的 monorepo 拖慢了你的速度, 那或许你就可以开始使用 Turborepo 了.

目录