升级到 Gulp 5 和最新稳定版本的 Node.js (20.11.1) 后,我正在尝试重建我的
gulpfile.js
。下面的 gulpfile 在 Node.js 版本 16.14.0 上运行得很好,但在 v.18 左右后就损坏了。我收到一条消息,上面写着“aggregateerror”,我不知道如何调试。我用谷歌搜索了这件事,但没有结果。非常感谢任何帮助。这是我的吞咽文件:
const { src, dest, gulp, watch, series, parallel } = require('gulp');
const sass = require('gulp-sass')(require('sass'));
const sourcemaps = require('gulp-sourcemaps');
const browserSync = require('browser-sync').create();
function reload(done) {
browserSync.reload();
done();
}
function serve(done) {
browserSync.init({
proxy: 'mysite.ddev.site',
injectChanges: true
});
done();
}
function watchTask(done) {
watch('css/scss/**/*.scss', series(cssTask, reload));
done();
}
function cssTask() {
return (
src('css/scss/**/*.scss')
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(sourcemaps.write())
.pipe(dest('css/'))
.pipe(browserSync.stream())
);
}
exports.default = series(serve, watchTask)
在我的例子中,由 easy-logger 创建错误:node_modules/easy-logger/index.js 第 210 行原样:
var incomingMessage = typeof msg === "string" ? msg : msg();
使用此代码,Gulp 无法运行并在控制台中出现错误。
我把它替换为
let incomingMessage = typeof msg === "String" ? msg : msg;
完成此操作后,我在 gulp 启动时收到“AggregateError”消息,但它有效。