123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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);
- });
- }
|