Turbo 是下一代前端开发工具链, 使用 Rust 编写, 他由 3 个主要部分组成
增量构建是一种构建方法, 他的主要目的是提高开发效率和节约资源. 在软件开发尤其是大型项目中, 每次微小的修改如果都触发整个项目的重新构建, 将会非常耗时而且没有必要. 增量构建技术就可以让我们只重新构建那些自上次构建依赖发生改变的代码或资源部分, 而跳过没有变化的部分 (或许就是你这次修改的文件).
增量构建的核心特点包括:
应用场景示例:
Web 开发中的 Webpack: 在使用 Webpack 作为模块打包工具时, 配合 webpack-dev-server, 他能够监视文件变化, 仅重新打包发生变化的模块, 实现快速的热更新 Android Studio 与 Gradle: Android 应用开发中, Gradle 构建系统利用其内置的增量构建能力、仅重新编译有变动的源代码文件或依赖, 而不是整个目录 大数据处理工具如 Apache Kylin: 在大数据分析领域, 增量构建用于避免对整个数据集的全量计算, 而是仅处理新到达的数据段, 适用于频繁更新的大数据立方体 (Cube)
总之, 增量构建的核心价值在于通过智能化的识别并处理真正需要重新构建的部分, 从而达到高效、快速的构建目的.
Turborepo 是一个针对 JavaScript 和 TypeScript 代码库进行优化的智能构建系统.
他可以使用缓存来增强本地设置并加快项目持续集成 (CI) 的速度.
Turborepo 一开始的设计就是增量采用的, 你可以随时把他加入到你的项目中, 而不是必须在创建项目的时候就加入.
Turborepo 的 monorepo 可以和 npm
、pnpm
、yarn
等包管理工具配合使用, 如果觉得你现在的 monorepo 拖慢了你的速度, 那或许你就可以开始使用 Turborepo 了.