直接在手表上使用 livereload()?

Using livereload() directly with watch?

gulp.task('live', function() {
    // listen for changes
    livereload.listen();

    // watch less files in src (to start just type gulp in the src directory)
    gulp.watch('public/css/**/*.less', ['src-less-to-css', 'src-less-to-css-ie8', 'src-less-to-css-ie9']);
    gulp.watch('public/**/*', livereload()); // <--- this ain't working

    // configure nodemon
    nodemon({
        // the script to run the app
        script: 'app.js',
        ext: 'js',
        ignore: ['public/**/*']
    }).on('restart', function(){
        // when the app has restarted, run livereload.
        gulp.src('app.js')
            .pipe(livereload())
            .pipe(notify('Reloading page, please wait...'));
    })
});

所以我想在 public 目录中的文件发生更改时调用 livereload() 方法,无论哪个文件、任何内容和所有内容。

我希望有一个像上面这样的简单解决方案。

好的,找到了一个便宜的解决方案,但不知道它是否是最好的。

gulp.watch('public/**/*', ['reload']);

这个函数:

// used by the public watch
gulp.task('reload', function () {
    return gulp.src('app.js')
        .pipe(livereload());
});