这个脚本工作并刷新我的页面,并运行我设置的所有任务,但它每次运行时都会在我的终端中给出“你试图两次启动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);
});