该脚本可以运行并刷新我的页面,并运行我设置的所有任务,但每次运行时它都会在我的终端中显示“您尝试启动 BrowserSync 两次”。
据我研究,原因应该是browserSync.reload
我在gulp.watch
任务中添加的,但是当我删除它时,它给了我“TypeError:无法将类调用为函数”。当我在 Github 上寻找其他设置 BrowserSync 的示例时,它们的编写方式都略有不同,因此我无法真正掌握语法。
这不是一个严重错误,但它是一个令人讨厌的警报。
var gulp = require('gulp');
var sass = require('gulp-sass');
var php = require('gulp-connect-php');
var autoprefixer = require('gulp-autoprefixer');
var browserSync = require('browser-sync');
var cleanCSS = require('gulp-clean-css');
var imagemin = require('gulp-imagemin');
gulp.task('sass', function() {
return gulp.src('assets/css/*.scss')
.pipe(sass())
.pipe(autoprefixer({
browsers: ['last 2 versions']
}))
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(gulp.dest('assets/css/'));
});
gulp.task('image-min', function () {
gulp.src('assets/images/src/*')
.pipe(imagemin())
.pipe(gulp.dest('assets/images/dist/'))
});
gulp.task('php', function() {
php.server({ base: '../drive4innovative.com', port: 8080, keepalive: true});
});
gulp.task('browser-sync',['php'], function() {
browserSync({
proxy: 'localhost/drive4innovative.com/',
port: 8080,
open: true,
notify: false
});
});
gulp.task('watch', ['browser-sync', 'sass', 'image-min'], function() {
gulp.watch('assets/css/*.scss', [sass]);
gulp.watch('**/*.php', browserSync.reload);
gulp.watch('*.js', browserSync.reload);
});