Server IP : 185.86.78.101 / Your IP : 216.73.216.171 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/bs-recipes/recipes/gulp.task.sequence/ |
Upload File : |
#Browsersync - Gulp, SASS + Slow running tasks ## Installation/Usage: To try this example, follow these 4 simple steps. **Step 1**: Clone this entire repo ```bash $ git clone https://github.com/Browsersync/recipes.git bs-recipes ``` **Step 2**: Move into the directory containing this example ```bash $ cd bs-recipes/recipes/gulp.task.sequence ``` **Step 3**: Install dependencies ```bash $ npm install ``` **Step 4**: Run the example ```bash $ npm start ``` ### Additional Info: This example highlights a common problem where you don't want to reload the browser until a 2 or more slow-running tasks have completed. The solution is to create the intermediate task that ensures `browserSync.reload` is not called until both slow tasks are complete. ### Preview of `gulpfile.js`: ```js 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); }); } ```