我使用gulp.js
来缩小,压缩,优化我的静态文件。现在我有一个目录包含所有用户'化身。当用户注册时,我的PHP代码将为他生成一个头像并将其复制/粘贴到该目录中。
化身的大小几乎是20kb。我可以每次在该目录上手动调用此任务以减少图像(头像)大小:
const gulp = require('gulp');
const imagemin = require('gulp-imagemin');
gulp.task('compress_avatars', () =>
gulp.src('pure/img/avatars/*')
.pipe(imagemin())
.pipe(gulp.dest('product/img/avatars'))
);
它也可以,并使图像的大小接近3kb。一切都很好。现在我想知道,我怎样才能自动(实时收听)?我的意思是,当一个图像添加到这个目录时,我需要自动减小它的大小(每次都不用手执行gulp compress_avatars
)?
答案 0 :(得分:1)
您可以使用gulp.watch
代替gulp.src
检查此目录中的任何更改并压缩您的头像文件。
const gulp = require('gulp');
const imagemin = require('gulp-imagemin');
gulp.task('compress_avatars', () =>
gulp.watch('pure/img/avatars/*', {ignoreInitial: false})
.pipe(imagemin())
.pipe(gulp.dest('product/img/avatars'))
);
在发送Ctrl-c(SIGINT
信号)之前,您必须知道此任务不会停止,但如果您关闭终端,则会关闭任务!