В 4 версии gulp появилось распаралеливание, поэтому добавьте скобки в конце. И будет вам счастье.const gulp = require('gulp');
const sass = require('gulp-sass');
const concat = require('gulp-concat')
const autoprefixer = require('gulp-autoprefixer');
const cleanCSS = require('gulp-clean-css');
const browserSync = require('browser-sync').create();
const sourcemaps = require('gulp-sourcemaps');
const gcmq = require('gulp-group-css-media-queries');
const config = {
src: './src',
css: {
watch: '/precss/**/*.sass',
src: '/precss/main.sass',
dest: '/css'
},
html: {
src: '/*.html'
}
};
gulp.task('build', function () {
return gulp.src(config.src + config.css.src)
.pipe(sourcemaps.init())
.pipe(sass().on('error', sass.logError))
.pipe(gcmq())
.pipe(autoprefixer({
overrideBrowserslist: ['> 0.01%'],
cascade: false
}))
// .pipe(cleanCSS({
// level: 2
// }))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(config.src + config.css.dest))
.pipe(browserSync.reload({
stream: true
}));
});
gulp.task('watch', function () {
gulp.watch(config.src + config.css.watch, gulp.parallel('build'));
gulp.watch(config.src + config.html.src).on('change', browserSync.reload);
});
gulp.task('browserSync', function () {
browserSync.init({
server: {
baseDir: config.src
}
// online: true,
// tunnel: true,
// logLevel: "debug"
});
});
gulp.task('dist', function(){
return gulp.src([
'./src/fonts/**/*.{woff,woff2}',
'./src/img/**',
'./src/js/**',
'./src/*html',
'./src/css/*.css'
], {
base: './src'
})
.pipe(gulp.dest('dist'))
});
gulp.task('default', gulp.parallel('watch','browserSync', 'build'));