My Gulpfile.js
var gulp = require('gulp');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var rigger = require('gulp-rigger');
var plumber = require('gulp-plumber');
var browserSync = require('browser-sync').create();
// RIGGER
gulp.task('rigger', function () {
gulp.src('src/html/*.html')
.pipe(rigger())
.pipe(gulp.dest('build/'));
});
gulp.task('rigger-js', function () {
gulp.src('src/js/*.js')
.pipe(rigger())
.pipe(gulp.dest('build/js'));
});
// SCSS
gulp.task('scss', function(){
gulp.src('src/scss/**/*.scss')
.pipe(plumber())
.pipe(sass({
outputStyle: 'expanded'
}))
.pipe(autoprefixer())
.pipe(gulp.dest('build/css/'))
.pipe(browserSync.stream());
});
// BROWSER-SYNC
gulp.task('live', function(){
gulp.src(['build/*.html', 'build/**/*.js'])
.pipe(browserSync.stream());
});
// Watch
gulp.task('watch', function(){
gulp.watch('src/scss/**/*.scss', ['scss']);
gulp.watch('src/html/**/*.html', ['rigger']);
gulp.watch('src/js/**/*.js', ['rigger-js']);
gulp.watch(['build/**/*.html', 'build/**/*.js'], ['live']);
});
gulp.task('browserSync', function() {
browserSync.init({
server: {
baseDir: 'build'
},
})
})
gulp.task('default', ['browserSync', 'scss', 'rigger', 'rigger-js', 'watch']);