Gulp 是一个基于流的 JavaScript 任务自动化工具,广泛用于前端开发中的构建流程。它通过代码而非配置来定义任务,结合丰富的插件生态,可高效完成代码压缩、自动化测试、代码格式化等操作。🚀

核心特点

  • 流式处理:无需写入临时文件,直接在内存中操作数据流
  • 插件系统:超过3000个官方及第三方插件支持(如 gulp-eslint
  • 代码优先:用 JavaScript 编写任务逻辑,灵活性高
  • 快速构建:并行执行任务,提升开发效率

常见用途

  • 压缩 JavaScript/CSS 文件
  • 自动化代码格式化(如 Prettier)
  • 启动本地服务器并实时刷新
  • 集成单元测试与代码检查

快速入门示例

// gulpfile.js
const { src, dest, series } = require('gulp');
const uglify = require('gulp-uglify');
const sass = require('gulp-sass');

// JavaScript 压缩任务
function jsTask() {
  return src('src/js/*.js')
    .pipe(uglify())
    .pipe(dest('dist/js'));
}

// CSS 转换任务
function cssTask() {
  return src('src/sass/*.sass')
    .pipe(sass().sync())
    .pipe(dest('dist/css'));
}

// 默认任务
exports.default = series(jsTask, cssTask);
Gulp Workflow

扩展阅读

如需了解 Gulp 与其他构建工具(如 Grunt 或 Webpack)的对比,可点击 Gulp vs Grunt 查看详细分析 📚