观察特定的文件模式以在Laravel Elxir中启动特定任务?

时间:2016-03-08 11:05:59

标签: php laravel gulp gulp-watch laravel-elixir

我已在gulpfile.js中设置了2个自定义任务:

var gulp        = require('gulp'),
    elixir      = require('laravel-elixir');

gulp.task('task1', function() {
  console.log('test1');
});

gulp.task('task2', function() {
  console.log('test2');
});

elixir(function(mix) {
  mix
     .task('task1', './resources/**/*.php')
     .task('task2', './resources/**/*.js')
     ;
});

当我运行gulp watch时,我只希望在更改*.php文件时看到'test1',在更改*.js文件时看到'test2'。但是,当只有1个文件发生变化时,会以某种方式触发 两个 任务。 为什么会这样?

有没有办法只触发正确的任务?

1 个答案:

答案 0 :(得分:0)

您是否使用自定义监视器尝试过此操作?请参阅“自定义观察者”下的https://laravel.com/docs/5.2/elixir

new Task('task1', function() {
    console.log('test1');
    // gulp.src here ect.
})
.watch('./resources/**/*.php');

new Task('task2', function() {
    console.log('test2');
    // gulp.src here ect.
})
.watch('./resources/**/*.js');

这可以解决您的问题。