Gulp观察者 - 单个文件的调用函数

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

我有一个函数,我只想用gulp 4.0观察者应用于已更改的文件,例如目前的任务是:

gulp.watch([
    paths.sourceFolder + "/**/*.js",
    paths.sourceFolder + "/**/*.html",
    paths.sourceFolder + "/**/*.less",
    paths.lessFolder + "/**/*.less",
], {}

).on('change', gulp.series(lint));

这有效,给出输出,当它失败,例如lint错误它继续观察更多的变化。然而,当我尝试将其重新格式化为仅在单个文件上运行时,无论我做什么,它只是在错误上失败并且不在控制台中给出任务细节输出,例如

gulp.watch([
    paths.sourceFolder + "/**/*.js",
    paths.sourceFolder + "/**/*.html",
    paths.sourceFolder + "/**/*.less",
    paths.lessFolder + "/**/*.less",
], {}).on('change', (path) => {
    lint(someDoneFunction, path)
});

如何为单个文件运行此函数并保留与使用gulp.series()相同的输出和错误处理?

javascript node.js npm gulp gulp-4
1个回答
0
投票

在watch回调中使用您的函数,而不是将其附加到chokidar实例。

gulp.watch(
    [
        paths.sourceFolder + "/**/*.js",
        paths.sourceFolder + "/**/*.html",
        paths.sourceFolder + "/**/*.less",
        paths.lessFolder + "/**/*.less",
    ],
    gulp.series(lint, something, somethingElse)
);

根据latest watch documentation,当您直接访问chokidar实例时,就像使用on('change',...)时一样,您将失去大部分任务系统集成。

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