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

ron*_*cob 9 gulp gulp-sass browser-sync

我有这个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']);
Run Code Online (Sandbox Code Playgroud)

请告诉我有什么区别:

.pipe(browserSync.stream());
Run Code Online (Sandbox Code Playgroud)

和:

gulp.watch('./**/*.php').on('change', browserSync.reload);
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Yas*_*ani 16

你可能必须得到你的答案,但我会在这里留下答案,万一有人需要知道.

browserSync.reload
Run Code Online (Sandbox Code Playgroud)

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

browserSync.stream
Run Code Online (Sandbox Code Playgroud)

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