我有一个服务器,它可以上传很多图片。上传图像的应用程序基于 PHP。但是,我想使用 Node 来观看上传文件夹,然后在任何新图像上运行 imagemin。
我在想我会使用 npm 包“watch”和“imagemin”。我不确定如何准确配置它们或如何让它一直运行。
到目前为止,我有以下可以手动打开的功能:
var Imagemin = require('imagemin');
var watch = require('watch');
var imagemin = new Imagemin()
.use(Imagemin.pngquant());
watch.createMonitor('images', function (monitor) {
monitor.files['images/*.png']
monitor.on("created", function (file) {
compressImage(file);
})
monitor.on("changed", function (file) {
compressImage(file);
});
});
function compressImage(file) {
var dest, path;
path = f.split('/');
path.pop();
dest = path.join('/');
imagemin.src(file).dest(dest).run();
}
在添加了几个文件后,我收到了关于 a 的警告possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit
,然后它停止工作。
有没有更好的方法来做到这一点,我怎样才能自动运行它?