我有这个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);
我需要他们两个?他们有不同的角色?
感谢。
答案 0 :(得分:13)
到目前为止,您可能一定得到了答案,但我会留下答案,以防万一有人需要知道。
browserSync.reload
用于进行页面刷新。理想情况下,它用于HTML& JS文件。
browserSync.stream
用于在不刷新页面的情况下注入更改。理想情况下,这用于CSS和其他样式表格式。此命令很有用,因为它可以保持滚动位置不变,并且不会像页面刷新那样将您带到页面顶部。