Gulp 是一个模块化打包工具。
Gulp 本身只有几个入口,支持他拥有强大功能的是各种各样的插件。
Gulp 使用非常简单,只需要一个一个任务链式执行
就可以了.
gulp 的用法
在项目根目录下创建一个gulpfile.js
或Gulpfile.js
文件,文件内容就是对应的编译任务和方法。
最终通过module.exports
或exports.default
导出。
实际上,其导出方式其实就是nodejs
的commonjs的导出语法。
因此,可以直接创建一个名为gulpfile.js
的文件夹,内部含一个index.js也是可行的。
gulp 基本语法
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const { src, dest } = require('gulp');
const babel = require('gulp-babel'); const uglify = require('gulp-uglify');
exports.default = function() { return src('src/*.js') .pipe(babel()) .pipe(uglify()) .pipe(dest('output/')); }
|
构建的串行和并行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| const { series, parallel } = require('gulp');
function jsMinify(cb) { cb(); } function cssMinify(cb) { cb(); } function publish(cb) { cb(); }
exports.seriesBuild = series(cssMinify, jsMinify)
exports.parallelBuild = parallel(cssMinify, jsMinify)
exports.build = series( parallel(cssMinify, jsMinify), publish);
|
watch 文件监听
1 2 3 4
| gulp.watch('js/**/*.js', function(event) { console.log('File ' + event.path + ' was ' + event.type + ', running tasks...'); });
|
gulp 插件
gulp 本身没有多少功能,绝大部分功能都来自于其插件。
下面是一些常用的插件。
1 2 3 4 5 6 7
| gulp-change 过滤掉未改过的文件 gulp-typescript ts编译插件 gulp-if 条件判断插件 gulp-image 压缩图片 gulp-mp-npm 微信小程序提取npm依赖包的插件 gulp-ts-alias 处理tsconfig中的别名 gulp-pretty-data 压缩美化xml, json, css, sql
|
更多插件可查看官方插件文档
以上为 gulp 最基本的用法,如果需要进阶使用建议查看官方文档。
附录为中文文档。
相关链接
gulpjs中文官网
2023年03月31日更新