Gulp:如何监视多个文件并仅为更改的文件执行任务?
我想做这件事: 我有一个包含许多js文件的文件夹。当我保存其中一个文件时,我想将缩小的文件保存在其他文件夹中 部分原因是我的脚本监视许多文件,当我更改其中一个文件时,所有文件都会复制并缩小到目标文件夹 我最近发现gulp.run不再使用了 如果有人能帮助我,我将非常感激 我试着这样做:Gulp:如何监视多个文件并仅为更改的文件执行任务?,gulp,gulp-watch,Gulp,Gulp Watch,我想做这件事: 我有一个包含许多js文件的文件夹。当我保存其中一个文件时,我想将缩小的文件保存在其他文件夹中 部分原因是我的脚本监视许多文件,当我更改其中一个文件时,所有文件都会复制并缩小到目标文件夹 我最近发现gulp.run不再使用了 如果有人能帮助我,我将非常感激 我试着这样做: var gulp = require('gulp'); var jshint = require('gulp-jshint'); var uglify = require('gulp-uglify'); var
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var watch = require('gulp-watch');
var files_dev = "./_sys/js/private/*.js";
var path_prod = "./_sys/js/public/";
gulp.task('dist-file', function(file) {
gulp.src(file)
.pipe(uglify())
.pipe(gulp.dest(path_prod));
});
gulp.task('default', function() {
gulp.watch(files_dev).on("change", function(file) {
gulp.run('dist-file');
});
dist file不需要是一个gulp任务,您可以将它作为一个函数,您可以将文件或glob传递给处理。另外,手表现在是“大口喝”的一部分,所以你不需要“大口喝”手表
var jshint = require('gulp-jshint');
var uglify = require('gulp-uglify');
var files_dev = "./_sys/js/private/*.js";
var path_prod = "./_sys/js/public/";
function uglifyFile (file) {
gulp.src([file])
.pipe(uglify())
.pipe(gulp.dest(path_prod));
}
gulp.task('watch-test', function() {
gulp.watch(files_dev).on("change", function (event) {
uglifyFile(event.path);
});
});
gulp.watch回调函数接收一个事件参数,该参数具有指向触发事件的文件的path属性。如果你发布你的代码会很有帮助。很抱歉没有发布我的代码。正如您所看到的,在任务默认情况下,我需要将文件作为任务dist文件的参数发送。