Gulp 吞下LiveReload以获取PHP文件,不会';刷新浏览器

Gulp 吞下LiveReload以获取PHP文件,不会';刷新浏览器,gulp,livereload,Gulp,Livereload,为WordPress主题构建一个gulpfile.js。目前,所有的JS和CSS都工作得很好,livereload正在重新加载CSS/JS更改 但我还想在PHP文件更改时刷新浏览器。我做了一些搜索,发现了我在gulpfile.js中使用的以下片段 gulp.task('watch', function(){ // Listen on port 35729 for LiveReload server.listen(35729, function (err) {if (err) {

为WordPress主题构建一个gulpfile.js。目前,所有的JS和CSS都工作得很好,livereload正在重新加载CSS/JS更改

但我还想在PHP文件更改时刷新浏览器。我做了一些搜索,发现了我在gulpfile.js中使用的以下片段

gulp.task('watch', function(){

    // Listen on port 35729 for LiveReload
    server.listen(35729, function (err) {if (err) {return console.log(err) };
        gulp.watch("assets/scss/**/*.scss", ['sass']);              // Watch and run sass on changes
        gulp.watch("assets/js/_*.js", ['javascripts']);             // Watch and run javascripts on changes
        gulp.watch("assets/img/*", ['imagemin', 'svgmin']);     // Watch and minify images on changes

        gulp.watch('**/*.php').on('change', function(file) {
            util.log('PHP FILES CHANGED!');
            server.changed(file.path);
        });

    });
});

每当我更改PHP文件时,我都可以在控制台中看到“PHP文件已更改!”,但livereload不会更新浏览器。我遗漏了什么?

做了一些进一步的研究和测试,结果证明使用tiny lr没有任何意义,因为gulp livereload什么都做。因此,我改变了我的任务,通过
.pipe(livereload())进行重新加载–并将我的手表任务更改为以下内容:

gulp.task('watch', function(){

    var server = livereload();
    gulp.watch('**/*.php').on('change', function(file) {
          server.changed(file.path);
          util.log(util.colors.yellow('PHP file changed' + ' (' + file.path + ')'));
      });

    gulp.watch("assets/scss/**/*.scss", ['sass']);              // Watch and run sass on changes
    gulp.watch("assets/js/_*.js", ['javascripts']);             // Watch and run javascripts on changes
    gulp.watch("assets/img/*", ['imagemin', 'svgmin']);     // Watch and minify images on changes

});

有一个简短的解决方案可能对那些使用它的人有用。有一种
重新加载
方法可以触发。像这样:

gulp.task('watch', function(){
    livereload.listen();

    gulp.watch('source/*.php', livereload.reload);
});

谢谢一段时间以来,我一直在尝试让livereload处理php文件,这非常有效。当人们搜索第一个答案对我不起作用时,你应该将你的答案标记为正确,以提高答案的正确性,但这一个对我不起作用。也不太具侵入性,似乎与吞咽习惯更为一致。我会投票支持这一正确答案。