当前位置: 首页 > news >正文

关于Gulp,你学这些就够了

Gulp 是一个基于流(Stream)的构建工具,用于自动化前端开发中的常见任务(如文件压缩、编译、自动化测试等)。它的设计理念是将任务流程处理成数据流,通过管道(Pipeline)处理数据,以达到自动化构建的目的。

现在对 gulp 的使用已经很少了,但是有些面试官在面试的时候还是会问,因此单独写一篇文章来讲一下。

1. Gulp 的基本概念

  • 流(Stream)​:Gulp 通过流的方式来处理文件,可以让文件在内存中进行操作,而不需要频繁的读写磁盘。
  • 任务(Task)​:每个 Gulp 操作叫做一个任务,任务可以包含一个或多个操作(如文件压缩、文件合并等)。
  • 管道(Pipe)​:Gulp 使用管道来连接多个任务,以此形成工作流。管道是任务之间的流动路径,每个任务输出的结果作为下一个任务的输入。

2. 安装 Gulp

首先,确保你已经安装了 Node.js,然后通过 npm 安装 Gulp。

# 安装 Gulp CLI(命令行工具)
npm install --global gulp-cli# 在项目中安装 Gulp 本地依赖
npm install --save-dev gulp

3. 创建 Gulp 任务

gulp 任务函数可以接受一个 callback 作为参数,调用 callback 函数那么任务会结束;或者是一个返回 stream、promise、event emitter、child process 或 observable 类型的函数。

一套流程 = src → pipe(plugin) → pipe(plugin) → dest

以下写法均为:gulp4+ 版本的最新写法。

1)定义一个任务(Task)

function hello(cb) {console.log("Gulp run ok");cb(); // 表示任务完成
}
exports.hello = hello;

运行:

gulp hello

2)处理 CSS / Sass

npm i gulp-sass sass gulp-clean-css gulp-autoprefixer -D
const { src, dest } = require("gulp");
const sass = require("gulp-sass")(require("sass"));
const cleanCSS = require("gulp-clean-css");
const autoprefixer = require("gulp-autoprefixer");function styles() {return src("src/scss/*.scss").pipe(sass())                // scss -> css.pipe(autoprefixer())        // 自动加前缀.pipe(cleanCSS())            // 压缩 css.pipe(dest("dist/css"));
}exports.styles = styles;

运行:

gulp styles

3)压缩 / 合并 JS

npm i gulp-uglify gulp-concat -D
const uglify = require("gulp-uglify");
const concat = require("gulp-concat");function scripts() {return src("src/js/*.js").pipe(concat("app.min.js")) // 合并.pipe(uglify())             // 压缩.pipe(dest("dist/js"));
}exports.scripts = scripts;

4)压缩图片

npm i gulp-imagemin -D
const imagemin = require("gulp-imagemin");function images() {return src("src/images/*").pipe(imagemin())   // 压缩图片.pipe(dest("dist/images"));
}exports.images = images;

5)监听文件修改

const { watch } = require("gulp");function dev() {watch("src/scss/*.scss", styles);watch("src/js/*.js", scripts);watch("src/images/*", images);
}exports.dev = dev;

运行:

gulp dev

文件一改 → 自动构建

6)组合任务 series / parallel

示例:

const { series, parallel } = require("gulp");exports.build = series(styles, scripts, images);   // 先后执行
exports.all    = parallel(styles, scripts, images); // 同时执行

运行:

gulp build

7)默认任务(直接 gulp

exports.default = series(styles, scripts, images, dev);

执行:

gulp
  1. 常用 gulpfile.js

const { src, dest, series, parallel, watch } = require("gulp");
const sass = require("gulp-sass")(require("sass"));
const cleanCSS = require("gulp-clean-css");
const uglify = require("gulp-uglify");
const concat = require("gulp-concat");
const imagemin = require("gulp-imagemin");
const autoprefixer = require("gulp-autoprefixer");// CSS处理
function styles() {return src("src/scss/*.scss").pipe(sass()).pipe(autoprefixer()).pipe(cleanCSS()).pipe(dest("dist/css"));
}// JS处理
function scripts() {return src("src/js/*.js").pipe(concat("app.min.js")).pipe(uglify()).pipe(dest("dist/js"));
}// 图片压缩
function images() {return src("src/images/*").pipe(imagemin()).pipe(dest("dist/images"));
}// 监听
function dev() {watch("src/scss/*.scss", styles);watch("src/js/*.js", scripts);watch("src/images/*", images);
}exports.default = series(parallel(styles, scripts, images),dev
);
http://www.rkmt.cn/news/70243.html

相关文章:

  • 尘埃粒子计数器供应商哪家好?2025最新排行权威解析,尘埃粒子计数器/大流量尘埃粒子计数器/尘埃粒子计数器供应商排行榜
  • 尘埃在线监测系统工厂排行榜,悬浮粒子计数器/台式粒子计数器/28.3L尘埃粒子计数器/尘埃在线监测系统生产厂家哪家强
  • 2025聚脲涂料推荐榜:手工/喷涂/天冬/透明/聚脲涂料厂家优选,宁国创遂领衔,这些企业凭硬核性能圈粉
  • 2025年12月江苏pc板加工推荐榜:pc板加工雕刻/pc板加工定制/pc板加工折弯精密制造与全产业链服务!
  • 2025年跨领域求职必看:全行业通用简历模板TOP4
  • 2025年12月肇庆全屋定制品牌榜:影音室/橱柜/意式轻奢风/老房改造全屋定制工作室设计核心实力
  • SQL注入靶场显错注入(一)
  • 2025年终有机肥发酵翻抛机厂家TOP5推荐:有机肥生产设备选型指南
  • 让Windows系统在每次登录时自动联网同步时间
  • AI浪潮下的冷思考:技术、赛道与我们的未来
  • AI元人文:价值原语化——价值原语的维度谱方法论(理论阐述)
  • 2025年物联网终端制造企业权威推荐榜单: 物联网公司‌/工业物联网‌/iot物联网‌源头厂家精选
  • 三星浏览器网页创建快捷方式
  • 2025 年 12 月京东 e 卡回收,京东 e 卡回收平台,回收京东 e 卡厂家最新推荐,聚焦资质、案例、售后的十家机构深度解读!
  • 祛斑精华哪个牌子效果好?2025 官方六大优选,权威背书 +用户口碑双验证
  • RV1126 NO.37:OPENCV的图像叠加功能 - 详解
  • json压缩与解压
  • 2025最新招投标系统实战推荐TOP5:从全流程数智化到垂直场景适配,企业选型指南
  • 2025年12月出入口安防系统,安防监控系统,弱电安防系统厂家推荐:聚焦安防核心需求,资质认证与案例落地双保障!
  • 知名的ERP系统推荐:国内主流品牌及特点解析
  • 膜电极外观缺陷检测设备:工业质检的高精度技术支撑
  • 知名的ERP系统排行:聚焦企业数字化转型优选方案
  • 市面上符合香港标准防火卷帘门厂家排名哪家强
  • 从3D传感器到立体相机,解锁工业应用新可能
  • 办公室设计施工一体化公司推荐:打造高效办公空间
  • 上海AI投资公司推荐:聚焦智能科技领域的优质选择
  • 初学者在漏洞悬赏中常犯的十大错误——教你如何避免!
  • MES看板启动命令
  • 工业CMOS相机的原理及基础知识 - 指南
  • 2025年行星球磨机工厂权威推荐榜单:振荡球磨仪/高能球磨机/低温行星式球磨仪设备源头厂家精选