Оцените пжл. правильно-ли собрал Gulp проект?
var gulp = require('gulp'), // Сообственно Gulp JS
plumber = require('gulp-plumber'), // отлавливает ошибки gulp и позволяет не завершать работу сборщика
csscomb = require('gulp-csscomb'); // Красивый
csso = require('gulp-csso'), // минификация CSS
sass = require('gulp-sass'), // работа с scss, sass
autoprefixer = require('gulp-autoprefixer'), // автоматическая расстановка префиксов к css свойствам
imagemin = require('gulp-imagemin'); // сжатия изображений
watch = require('gulp-watch'), // отслеживания изменений в файлах проекта
browserSync = require('browser-sync').create(); // live-reload функционал без использования расширений браузера
var sass_files = 'app/scss/**.scss',
js_files = 'app/js/**.js',
html_files = 'app/**.html',
img_files = 'app/image/**/*';
gulp.task('sass', function () {
return gulp.src(sass_files)
.pipe(plumber())
.pipe(csscomb())
// .pipe(csso())
.pipe(sass().on('error', sass.logError))
// .pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError)) // nested, expanded, compact, compressed
.pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false
}))
.pipe(gulp.dest("app/css"))
.pipe(browserSync.stream())
})
gulp.task('imagemin', function() {
return gulp.src(img_files) // Берем все изображения из папки app
.pipe(imagemin([
imagemin.gifsicle({interlaced: true}),
imagemin.jpegtran({progressive: true}),
imagemin.optipng({optimizationLevel: 5}),
imagemin.svgo({
plugins: [
{removeViewBox: true},
{cleanupIDs: false}
]
})
]))
.pipe(gulp.dest('app/image'));
});
gulp.task('watch', function() {
browserSync.init({
server: "./",
notify: false
});
gulp.watch(sass_files, ['default']);
gulp.watch(img_files, ['default']);
gulp.watch(html_files).on('change', browserSync.reload);
gulp.watch(js_files).on('change', browserSync.reload);
})
gulp.task('default', ['sass', 'imagemin'])