งาน Gulpjs ต่อไปนี้ทำงานได้ดีเมื่อแก้ไขไฟล์ในการจับคู่แบบกลม:
// watch task.
gulp.task('watch', ['build'], function () {
gulp.watch(src + '/js/**/*.js', ['scripts']);
gulp.watch(src + '/img//**/*.{jpg,jpeg,png,gif}', ['copy:images']);
gulp.watch(src + '/less/*.less', ['styles']);
gulp.watch(src + '/templates/**/*.{swig,json}', ['html']);
});
// build task.
gulp.task('build', ['clean'], function() {
return gulp.start('copy', 'scripts', 'less', 'htmlmin');
});
อย่างไรก็ตามมันใช้งานไม่ได้ (มันไม่ทำงาน) สำหรับไฟล์ใหม่หรือไฟล์ที่ถูกลบ มีบางอย่างที่ฉันขาดหายไปหรือไม่?
แก้ไข : แม้ใช้ปลั๊กอิน grunt-watch ดูเหมือนว่าจะไม่ทำงาน:
gulp.task('scripts', function() {
return streamqueue(
{ objectMode: true },
gulp.src([
vendor + '/jquery/dist/jquery.min.js',
vendor + '/bootstrap/dist/js/bootstrap.min.js'
]),
gulp.src([
src + '/js/**/*.js'
]).pipe(plugins.uglify())
)
.pipe(plugins.concat(pkg.name + '.min.js'))
.pipe(gulp.dest(dest + '/js/'));
});
gulp.task('watch', ['build'], function () {
plugins.watch({glob: src + '/js/**/*.js'}, function () {
gulp.start('scripts');
});
});
แก้ไข : แก้ไขมันเป็นปัญหานี้ Globs ที่เริ่มต้นด้วย./
(นั่นคือมูลค่าsrc
) ดูเหมือนว่าจะไม่ทำงานกับ ATM
gulp-watch
เช่นgulp.watch('js/**/*.js', {cwd: src}, ['scripts']);