You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.5 KiB
58 lines
1.5 KiB
var gulp = require('gulp'), |
|
plumber = require('gulp-plumber'), |
|
rename = require('gulp-rename'); |
|
var autoprefixer = require('gulp-autoprefixer'); |
|
var concat = require('gulp-concat'); |
|
var imagemin = require('gulp-imagemin'), |
|
cache = require('gulp-cache'); |
|
var sass = require('gulp-sass'); |
|
var browserSync = require('browser-sync'); |
|
|
|
gulp.task('browser-sync', function() { |
|
browserSync({ |
|
server: { |
|
baseDir: "./" |
|
} |
|
}); |
|
}); |
|
|
|
gulp.task('bs-reload', function () { |
|
browserSync.reload(); |
|
}); |
|
|
|
gulp.task('images', function(){ |
|
gulp.src('src/img/**/*') |
|
.pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true }))) |
|
.pipe(gulp.dest('img/')); |
|
}); |
|
|
|
gulp.task('styles', function(){ |
|
gulp.src(['src/scss/**/*.scss']) |
|
.pipe(plumber({ |
|
errorHandler: function (error) { |
|
console.log(error.message); |
|
this.emit('end'); |
|
}})) |
|
.pipe(sass()) |
|
.pipe(autoprefixer('last 2 versions')) |
|
.pipe(gulp.dest('css/')) |
|
.pipe(browserSync.reload({stream:true})) |
|
}); |
|
|
|
gulp.task('scripts', function(){ |
|
return gulp.src('src/js/**/*.js') |
|
.pipe(plumber({ |
|
errorHandler: function (error) { |
|
console.log(error.message); |
|
this.emit('end'); |
|
}})) |
|
.pipe(concat('main.js')) |
|
.pipe(gulp.dest('js/')) |
|
.pipe(browserSync.reload({stream:true})) |
|
}); |
|
|
|
gulp.task('default', ['browser-sync'], function(){ |
|
gulp.watch("src/scss/**/*.scss", ['styles']); |
|
gulp.watch("src/js/**/*.js", ['scripts']); |
|
gulp.watch("*.html", ['bs-reload']); |
|
});
|
|
|