browserSync.reload和browserSync.stream()) - 有什么区别?

时间:2017-09-07 21:37:03

标签: gulp browser-sync gulp-sass

我有这个gulpfile.js文件:

var gulp = require('gulp'),
sass = require('gulp-sass'),
uglify = require('gulp-uglify'),
concat = require('gulp-concat'),
browserSync = require('browser-sync').create();

gulp.task('sass', function() {
    gulp.src('assets/src/sass/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('assets/dist/css'))
    .pipe(browserSync.stream());
});

gulp.task('scripts', function() {
    gulp.src('assets/src/js/*.js')
    .pipe(concat('main.js'))
    .pipe(uglify())
    .pipe(gulp.dest('assets/dist/js'));
}); 

gulp.task('server', ['sass','scripts'], function() {
    browserSync.init({
        proxy: 'http://localhost/example/',
    });
    gulp.watch('assets/src/sass/*.scss', ['sass']);
    gulp.watch('assets/src/js/*.js', ['scripts']);
    gulp.watch('./**/*.php').on('change', browserSync.reload);
});

gulp.task('server', ['run']);

请告诉我有什么区别:

.pipe(browserSync.stream());

gulp.watch('./**/*.php').on('change', browserSync.reload);

我需要他们两个?他们有不同的角色?

感谢。

1 个答案:

答案 0 :(得分:13)

到目前为止,您可能一定得到了答案,但我会留下答案,以防万一有人需要知道。

browserSync.reload

用于进行页面刷新。理想情况下,它用于HTML& JS文件。

browserSync.stream

用于在不刷新页面的情况下注入更改。理想情况下,这用于CSS和其他样式表格式。此命令很有用,因为它可以保持滚动位置不变,并且不会像页面刷新那样将您带到页面顶部。