gulp.src().on('error', ()=>{}) 在找不到 src 中指定的文件时不会被触发

gulp.src().on('error', ()=>{}) is not getting triggered when file specified in src is not found

我正在尝试使用 npm 的 gulp 和 gulp-concat 模块连接多个文件。

以下是我使用过的代码片段。

gulp.src(['../a.js', '../b.js', '../c.js'])
    .pipe(concat('destination.js'))
    .pipe(gulp.dest('destination/path/'))
    .on('error', () => {
        console.error('Error');
     })
    .on('finish', () => {
        console.log('Success');
    });

当在指定路径中找不到假定 b.js 或任何其他文件时,不会触发错误事件侦听器。

无论如何都会触发事件结束。

如何查找在此过程中找不到文件等错误?

提前感谢您的帮助

我终于从下面找到了解决方案post

我使用 files-exist npm 包来检查所有文件是否存在。

您可以使用 gulp-plumber 在构建时得到错误。

示例:

步骤 1: 安装 gulp-plumber:

npm i gulp-plumber --save-dev

步骤 2: 需要 gulp 文件中的 gulp plmber 模块:

var plumber = require('gulp-plumber');   

第 3 步:用法

gulp.src(['../a.js', '../b.js', '../c.js'])
.pipe(plumber())
.pipe(concat('destination.js'))
.pipe(plumber.stop())
.pipe(gulp.dest('dist/js'));