📅  最后修改于: 2023-12-03 15:41:42.398000             🧑  作者: Mango
Gulp 是一个基于 Node.js 的前端自动化构建工具,它可以帮助我们自动化完成一些繁琐、重复的任务,例如压缩 CSS、JS,图片的压缩和合并等等。
使用 npm 命令安装 Gulp:
npm install gulp --save-dev
在项目根目录中创建一个 gulpfile.js
文件,这是 Gulp 的配置文件。
Gulp 中定义任务非常简单,只需要使用 gulp.task
方法即可。
gulp.task('taskName', function() {
// 任务代码
});
这里创建了一个名为 taskName
的任务,任务代码被包裹在一个匿名函数中。
我们可以使用 gulp.series
方法组合多个任务为一个任务序列,也可以使用 gulp.parallel
方法将多个任务并行地执行。
gulp.task('default', gulp.series('task1', gulp.parallel('task2', 'task3')));
这里创建了一个名为 default
的任务,任务代码是执行 task1
任务,然后并行地执行 task2
和 task3
任务。
使用 gulp.watch
方法监听文件变化,一旦文件发生变化,就执行对应的任务。
gulp.watch('src/styles/*.css', gulp.series('css'));
这里监听了 src/styles
目录下的所有 .css
文件,一旦文件发生变化,就执行 css
任务。
下面是一个简单的例子,我们使用 Gulp 来压缩 JS 和 CSS 文件,当文件发生变化时自动执行任务。
const gulp = require('gulp');
const cleanCSS = require('gulp-clean-css');
const uglify = require('gulp-uglify');
gulp.task('minify-css', function () {
return gulp.src('src/styles/*.css')
.pipe(cleanCSS())
.pipe(gulp.dest('dist/styles'));
});
gulp.task('minify-js', function () {
return gulp.src('src/scripts/*.js')
.pipe(uglify())
.pipe(gulp.dest('dist/scripts'));
});
gulp.task('watch', function () {
gulp.watch('src/styles/*.css', gulp.series('minify-css'));
gulp.watch('src/scripts/*.js', gulp.series('minify-js'));
});
gulp.task('default', gulp.series(gulp.parallel('minify-css', 'minify-js'), 'watch'));
这里我们定义了两个任务,分别是 minify-css
和 minify-js
,用于压缩 CSS 和 JS 文件。然后我们又定义了一个 watch
任务,用于监听文件的变化。最后我们使用 default
任务将两个压缩任务和监听任务串联起来,一旦我们执行 default
任务,就会执行两个压缩任务,并且会一直监听文件的变化。
Gulp 是一个非常优秀的前端自动化构建工具,它可以帮助我们自动化完成很多繁琐、重复的任务,提高我们的开发效率。如果你还没有使用 Gulp,建议你试试。