2

该脚本可以运行并刷新我的页面,并运行我设置的所有任务,但每次运行时它都会在我的终端中显示“您尝试启动 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);
});
4

0 回答 0