0

任务“复制图像”在第一次 gulp 运行时复制所有图像文件。然后,任务 'Watch source files' 监视图像源文件夹并imagesWatcher.on('add)拦截添加的文件。如何从“wathcer.on()”回调中调用“复制图像”?

请注意,驼峰式的 gulp 任务名称是不必要的限制。我知道它gulp.run在 gulp4 中被删除了,但是在这里它可能非常方便。

gulp.task('Copy images', () => {
   // ...
})

gulp.task('Watch source files, () => {

    let imagesWatcher = gulp.watch('src/images/**/*.*');
    watcher.on('add', function(path, stats) {
        // How to call 'Copy images'?
    });
})
4

1 回答 1

2

只需将您的“复制图像”任务变成一个函数(这是 gulp4 特别好的地方),所以:

function Copy_Images() {
  return gulp.src(paths.images.src)
    .pipe(newer(paths.images.dist))
    .pipe(gulp.dest(paths.images.dist));
}

function Watch_Source_Files() {
    let imagesWatcher = gulp.watch('src/images/**/*.*');
    watcher.on('add', function(path, stats) {
        // How to call 'Copy images'?
        Copy_Images();
    });
}

函数名就是这么简单。不确定在这种情况下“使用别名的解决方案”是什么意思。

于 2018-07-15T03:45:59.130 回答