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.
57 lines
1.2 KiB
57 lines
1.2 KiB
var gulp = require('gulp'); |
|
var browserSync = require('browser-sync'); |
|
var sass = require('gulp-sass'); |
|
var reload = browserSync.reload; |
|
var through = require("through2"); |
|
|
|
/** |
|
* A slow task |
|
*/ |
|
gulp.task('slow1', function () { |
|
return gulp.src('./app/*.html') |
|
.pipe(slowStream()); |
|
}); |
|
|
|
/** |
|
* Another Slow task |
|
*/ |
|
gulp.task('slow2', function () { |
|
return gulp.src('./app/*.html') |
|
.pipe(slowStream()); |
|
}); |
|
|
|
/** |
|
* Separate task for the reaction to a file change |
|
*/ |
|
gulp.task('html-watch', ['slow1', 'slow2'], reload); |
|
|
|
/** |
|
* Sass task for live injecting into all browsers |
|
*/ |
|
gulp.task('sass', function () { |
|
return gulp.src('./app/scss/*.scss') |
|
.pipe(sass()) |
|
.pipe(gulp.dest('./app/css')) |
|
.pipe(reload({stream: true})); |
|
}); |
|
|
|
/** |
|
* Serve and watch the html files for changes |
|
*/ |
|
gulp.task('default', function () { |
|
|
|
browserSync({server: './app'}); |
|
|
|
gulp.watch('./app/scss/*.scss', ['sass']); |
|
gulp.watch('./app/*.html', ['html-watch']); |
|
}); |
|
|
|
/** |
|
* Simulate a slow task |
|
*/ |
|
function slowStream () { |
|
return through.obj(function (file, enc, cb) { |
|
this.push(file); |
|
setTimeout(cb, 2000); |
|
}); |
|
} |