BrowserSync 在 Gulp 5/Node.js v.20 中引发聚合错误

问题描述 投票:0回答:1

升级到 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)
node.js gulp browser-sync
1个回答
0
投票

在我的例子中,由 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”消息,但它有效。

© www.soinside.com 2019 - 2024. All rights reserved.