首页 > 解决方案 > 使用 gulp-imagemin 时显示错误“[DEP0097] DeprecationWarning: Using a domain property in MakeCallback is deprecated”

问题描述

当我使用 gulp-imagemin 来缩小我的图像以用于构建目的时,它在键入时显示以下错误gulp build --trace-deprecation并且没有完成缩小任务。

[DEP0097] DeprecationWarning: Using a domain property in MakeCallback is deprecated. Use the async_context variant of MakeCallback or the AsyncResource class instead.
    at emitMakeCallbackDeprecation (domain.js:129:13)
    at process.topLevelDomainCallback (domain.js:140:5)
    at process.callbackTrampoline (internal/async_hooks.js:129:14)
The following tasks did not complete: build, imagemin
Did you forget to signal async completion?

下面是我的 gulpfile.js imagemin 和构建任务片段。我省略了 clean、copyfonts 任务和其他任务,因为它们执行得很好。

const gulp = require('gulp'),
    sass = require('gulp-sass')(require('node-sass')),
    browserSync = require('browser-sync'),
    del = require('del'),
    copy = require('copy'),
    imagemin = require('gulp-imagemin');
    
gulp.task('imagemin', function() {
    return gulp.src('./img/*.{png, jpg, jpeg, gif}')
    .pipe(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))
    .pipe(gulp.dest('./dist/img'));
});

gulp.task('build', gulp.series('clean', 'copyfonts', 'imagemin'));

休息任务完美执行,但这个 gulp-imagemin 没有完成它的工作。有什么办法可以解决这个错误,或者你能推荐任何其他流行的 gulp 插件来实现图像的缩小吗?我已经读到这个弃用问题也发生在节点 v14.5.0 中,并且已经在节点 v14.6.0 中解决,但现在似乎并非如此。

我的节点版本是 v14.16.0,npm v7.20.3,gulp cli 版本 2.3.0 和本地版本 4.0.2,gulp-imagemin v7.1.0

标签: node.jsgulpgulp-imagemin

解决方案


推荐阅读