构建工具Gulp-lesson2
工具 构建 Gulp
2023-06-13 09:16:12 时间
写作背景
Gulp 在编写时和其他构建工具的最大区别就是 Gulp 基于编码而非配置,编码的基础单元又是任务,在上一节学习后我们就可以先一个任务了,那么这一节就详细了解一些任务再 Gulp 中的重要作用吧。
任务:
在 Gulp 中任务按访问的形式可以分为公开任务和私有任务,在使用 gulp 执行构建时读取的就是公开任务列表,所以说我们需要通过 gulp 命令来执行的时候就需要将这个任务导出,就代码这个任务是公开的了。有一些不需要直接通弄过 Gulp 命令执行的任务就不用导出就是私有任务了。
通过下面的代码示例来看一下按访问形式划分的任务:
const { series } = require('gulp');
function clean(cb) {
// body omitted
cb();
}
function build(cb) {
// body omitted
cb();
}
exports.build = build;
exports.default = series(clean, build);
在上面的任务定义中,可已看到 build 任务最终有被导出,所以说 build 是一个公开任务,clean 任务并没有导出,但是被装到了 series 中,但它依然是一个私有任务。
注:代码内容来自 gulp 官网;在以前的版本 gulp 是允许使用task 函数来注册任务的,同样这个特性也有保留,以便我们在无法使用导出模块的语法的特殊状况下使用。
组合任务:
任务按组合的方式可以分为串行任务和并行任务,在 Gulp 中暴露了 series 和 parallel 来将任务进行组合,并且支持组合嵌套,比如说多个并行的任务中的每个任务都可能是一个串行任务或并行任务。
\
下面的代码演示了串行任务的组合方式:
const { series } = require('gulp');
function transpile(cb) {
// body omitted
cb();
}
function bundle(cb) {
// body omitted
cb();
}
exports.build = series(transpile, bundle);
注:代码内容来自 gulp 官网;
下面的代码演示了并行任务的组合方式:
const { parallel } = require('gulp');
function javascript(cb) {
// body omitted
cb();
}
function css(cb) {
// body omitted
cb();
}
exports.build = parallel(javascript, css);
注:代码内容来自 gulp 官网;
下面的代码演示了相互组合的任务形式:
const { series, parallel } = require('gulp');
function clean(cb) {
// body omitted
cb();
}
function css(cb) {
// body omitted
cb();
}
function javascript(cb) {
// body omitted
cb();
}
exports.build = series(clean, parallel(css, javascript));
注:代码内容来自 gulp 官网;
结语:
灵活的任务组合方式在构建过程中一定要比配置的编写更加轻松,明晚继续学。
相关文章
- 自动生成__test__目录和index.spec.js工具
- 项目管理构建工具——Maven(基础篇)
- 新型前端构建工具 Vitejs 开发使用
- 新一代构建工具Gradle的安装(Window/Linux)
- linux项目构建工具——makefile
- 数据建模方法/模型/规范/工具全解
- 再次重构LLVM+Clang+libcxx+libc++abi+其他相关工具的构建流程
- 构建工具Gulp-lesson1
- 构建工具Gulp-lesson3
- 如何不基于构建工具优雅的实现模块导入?
- 查看java性能Linux下JStat工具深度分析Java性能(linuxjstat)
- MongoDB:构建文件库的新工具(mongodb文件库)
- MySQL连接驱动:构建连接的必要工具(mysql连接驱动包)
- 【MySQL可视化工具——开启数据库新纪元】(mysql界面化工具)
- Cube.js:试试这个新的数据分析开源工具
- Akira 是我们一直想要的 Linux 设计工具吗?
- MySQL数据建模:最佳解决方案(mysql数据建模工具)
- 使用 Linux 证书工具,简便快捷地获取证书!(linux证书工具)
- 快速构建数据库:易语言MSSQL合区工具(易语言mssql合区工具)
- 图形化操作构建Redis集群(图形工具链接redis)