Skip to content

Instantly share code, notes, and snippets.

@jbutko
Last active February 13, 2019 06:25
Show Gist options
  • Save jbutko/d36229903d419d721772 to your computer and use it in GitHub Desktop.
Save jbutko/d36229903d419d721772 to your computer and use it in GitHub Desktop.
BrowserSync + Gulp.js: Simple webServer + liveReload + watching CSS, HTML and SASS files
/**
* This example:
* Uses the built-in BrowserSync server for HTML files
* Watches & compiles SASS files
* Watches & injects CSS files
*
* More details: http://www.browsersync.io/docs/gulp/
*
* Install:
* npm install browser-sync gulp gulp-sass --save-dev
*
* Then run it with:
* gulp
*/
var browserSync = require('browser-sync');
var reload = browserSync.reload;
var gulp = require('gulp');
var sass = require('gulp-sass');
// Browser-sync task, only cares about compiled CSS
gulp.task('browser-sync', function() {
browserSync({
server: {
baseDir: "./"
}
});
});
// Sass task, will run when any SCSS files change & BrowserSync
// will auto-update browsers
gulp.task('sass', function () {
return gulp.src('scss/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('css'))
.pipe(reload({stream:true}));
});
// Reload all Browsers
gulp.task('bs-reload', function () {
browserSync.reload();
});
// Default task to be run with `gulp`
// This default task will run BrowserSync & then use Gulp to watch files.
// When a file is changed, an event is emitted to BrowserSync with the filepath.
gulp.task('default', ['browser-sync'], function () {
gulp.watch('css/*.css', function (file) {
if (file.type === "changed") {
reload(file.path);
}
});
gulp.watch("*.html", ['bs-reload']);
});
@fifn2
Copy link

fifn2 commented Aug 23, 2018

you should use arrow functions and const

@tobybot
Copy link

tobybot commented Feb 13, 2019

this should be updated for gulp 4

gulp.task('default', gulp.series('browser-sync', function() {
gulp.watch('css/.css', function (file) {
if (file.type === "changed") {
reload(file.path);
}
});
gulp.watch("
.html", ['bs-reload']);
}));

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment