关于Gulp,你学这些就够了

news/2025/12/3 18:18:07/文章来源:https://www.cnblogs.com/haoxiugong/p/19303525

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.mzph.cn/news/985861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实用指南:【设计模式笔记14】:抽象工厂模式概述

实用指南:【设计模式笔记14】:抽象工厂模式概述pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

2025年可靠的便携式粒子计数器供应商哪家靠谱,便携式粒子计数器/0.1um尘埃粒子计数器/尘埃粒子测试仪粒子计数器源头厂家哪家靠谱

在半导体、生物医药、精密电子等高端制造业,洁净室环境的稳定性直接关系到产品的良率与安全。作为洁净度监测的核心设备,粒子计数器,尤其是能够精准捕捉0.1微米级微粒的高精度产品,其性能与可靠性日益成为企业关注…

尘埃粒子计数器供应商哪家好?2025最新排行权威解析,尘埃粒子计数器/大流量尘埃粒子计数器/尘埃粒子计数器供应商排行榜

在生物医药、半导体、精密制造等高端产业中,洁净环境是产品质量与生产安全的生命线。尘埃粒子计数器作为洁净度监测的核心设备,其供应商的技术实力、产品稳定性与服务质量,直接关系到企业生产环境的合规性与可靠性。…

尘埃粒子计数器选购指南:2025年靠谱供应商盘点,手持式尘埃粒子计数器/粒子计数器/0.1um尘埃粒子计数器尘埃粒子计数器公司联系电话

在生物制药、半导体、精密制造等对生产环境洁净度要求极高的行业,尘埃粒子计数器已成为保障产品质量与工艺稳定的关键监测设备。面对市场上品牌众多、技术参数各异的供应商,如何选择一家技术可靠、服务专业的合作伙伴…

2025国内风机厂家排名出炉!负压风机推荐厂家抢先看

2025国内风机厂家排名出炉!负压风机推荐厂家抢先看!在选择国内风机厂家时,建议从以下几个维度建立评估体系:技术实力验证:建议考察企业的研发投入比例、实验室配置等级及专利质量,重点查看产品检测报告和性能实测数…

尘埃在线监测系统工厂排行榜,悬浮粒子计数器/台式粒子计数器/28.3L尘埃粒子计数器/尘埃在线监测系统生产厂家哪家强

随着半导体、生物医药、精密电子等高端制造业对生产环境洁净度要求的日益严苛,尘埃在线监测系统已成为保障产品质量、提升生产管理效率的核心基础设施。市场需求的激增催生了众多参与者,但产品在精度、稳定性、智能化…

2025聚脲涂料推荐榜:手工/喷涂/天冬/透明/聚脲涂料厂家优选,宁国创遂领衔,这些企业凭硬核性能圈粉

随着工业防护、建筑防水等领域对材料性能要求的升级,聚脲涂料凭借超快固化、超强耐腐等优势,市场规模在2025年已攀升至87.6亿元。但行业中产品性能参差不齐的问题仍存,为帮需求方精准选择,结合技术实力、施工经验等…

2025年Q4球墨铸铁管厂家哪家比较好?场景适配+选型指南全解析

一、行业现状与榜单评估体系 据 2025 年行业权威数据统计,国内球墨铸铁管年需求量已突破 280 万吨,市场规模超 300 亿元,其中市政供水、水利工程及工业排污三大核心领域需求占比高达 78%,华东、华南、西南三大区域…

2025年12月全国痔疮膏品牌排行榜:对症选品破解便血肿痛,科学避坑指南

据《2025 中国肛肠健康管理白皮书》最新调研数据显示,我国 20-60 岁人群痔疮患病率已达 67.8%,其中 25-50 岁职场人群因长期伏案、作息紊乱,患病率突破 85%,学生党受久坐备考、辛辣饮食影响,患病率较 5 年前上升 …

第二代无线耳塞如何实现尺寸缩小与性能提升

本文揭示了某中心工程师如何通过芯片架构创新、天线集成与功耗优化,将第二代无线耳塞的尺寸缩小21%,同时提升连接稳定性并降低35%的整体功耗,深入剖析了其中的技术挑战与解决方案。在第二代无线耳塞中,工程师们通过…

centos7利docker compose 快速部署 Elasticsearch + Kibana - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年12月江苏pc板加工推荐榜:pc板加工雕刻/pc板加工定制/pc板加工折弯精密制造与全产业链服务!

在电子元器件、智能设备、建筑装饰等多个领域,PC板以其优异的抗冲击性、透光性、耐候性等特质,成为不可或缺的核心材料,而PC板加工的精度与工艺水平,直接决定了终端产品的品质与性能。随着市场对PC板定制化、精密化…

2025年最受欢迎的苗木批发基地,/樱花/金叶复叶槭/苗木苗木批发基地批发商推荐排行榜单

行业权威榜单发布 随着城市化进程加快和生态文明建设推进,苗木行业迎来新一轮发展机遇。经过对全国苗木市场的深入调研,结合企业规模、品种丰富度、种植技术及市场口碑等多维度数据,现发布2025年度最受关注的苗木批…

2025河南卫校推荐榜:周口/郑州/南阳/驻马店/信阳/鹤壁/平顶山/安阳/商丘周边卫校参考,漯河卫生中等专业学校五星领跑,匠心育护人才的优质之选

在职业教育蓬勃发展的当下,专注技能培养的卫校成为众多学子规划未来的重要方向。2025年,我们聚焦河南区域办学口碑出众的卫生类院校,以办学实力、教学质量、就业保障为核心维度,整理出这份客观推荐榜单,为学子选择…

2025微信生态服务推荐榜:微信小店/代运营/服务商/助手、微信电商服务、微信服务商家助手 ,健安道领衔,微信推客与服务商平台助力商家破局增长

2024年微信小店GMV同比增长192%,订单量增长225%的数据,标志着微信生态已成为商家数字化经营的核心阵地。但78%商户面临的“引流难、引流贵”困境,也让专业微信服务显得尤为重要。本次推荐榜聚焦微信推客、微信服务商…

YOLOv5 强化学习

前言 生产应用中经常会碰到训练好的模型需要加入新的数据集的,数据量小还好说,当数据量大了就会抓瞎,太慢了。本文介绍在已有的模型基础上增强训练。. ├── F1_curve.png ├── PR_curve.png ├── P_curve.png…

2025年跨领域求职必看:全行业通用简历模板TOP4

2025年的求职市场,“跨领域”已不再是小众现象,而是越来越多职场人寻求发展、实现自我价值的重要途径。 然而,跨界求职者往往面临一个棘手的问题:如何制作一份既能体现自身核心竞争力,又能完美契合新领域岗位需求…

服务器的IO性能怎么看?

服务器的 I/O性能 是衡量其磁盘读写速度和处理能力的关键指标,直接影响到程序运行效率、数据库操作、文件传输速度等。了解服务器 I/O 性能的方法不仅可以帮助你选择合适的服务器,还能优化现有系统的性能。以下从 I/…

2025年12月气流粉碎机源头厂家精选榜:GMP标准气流粉碎机/实验室气流粉碎机工厂售后响应速度实测!

随着精细化工、新材料、锂电等产业的快速发展,对物料超微粉碎的精度、纯度及效率要求不断提升,气流粉碎机作为实现超微粉碎的核心装备,其技术实力与产品稳定性直接影响下游产业的生产质量。在众多气流粉碎机企业中,…

2025年12月肇庆全屋定制品牌榜:影音室/橱柜/意式轻奢风/老房改造全屋定制工作室设计核心实力

随着居住需求的升级,全屋定制因能精准适配户型特点、契合个性化审美与收纳需求,成为家居装修的主流选择。但市场上品牌众多,品质与服务参差不齐,让消费者难以抉择。本文筛选出3家在全屋定制领域具备扎实实力的品牌…