Based on the browser-sync-nodemon-expressjs gulp recipe from sogko but mainly changing watch
for ext
-
-
Save TexRx/d1feced44f06c50bcc95 to your computer and use it in GitHub Desktop.
expressjs-nodemon-browsersync
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
var gulp = require('gulp'), | |
browserSync = require('browser-sync'), | |
nodemon = require('gulp-nodemon'); | |
// we'd need a slight delay to reload browsers | |
// connected to browser-sync after restarting nodemon | |
var BROWSER_SYNC_RELOAD_DELAY = 500; | |
gulp.task('nodemon', function (cb) { | |
var called = false; | |
return nodemon({ | |
// nodemon our expressjs server | |
script: 'app/www', | |
// watch core server file(s) that require server restart on change | |
ext: '*.js *.jade' | |
}) | |
.on('start', function onStart() { | |
// ensure start only got called once | |
if (!called) { | |
called = true; | |
cb(); | |
} | |
}) | |
.on('restart', function onRestart() { | |
// reload connected browsers after a slight delay | |
setTimeout(function reload() { | |
browserSync.reload({ | |
stream: false // | |
}); | |
}, BROWSER_SYNC_RELOAD_DELAY); | |
}); | |
}); | |
gulp.task('browser-sync', ['nodemon'], function () { | |
// for more browser-sync config options: http://www.browsersync.io/docs/options/ | |
browserSync.init({ | |
// watch the following files; changes will be injected (css & images) or cause browser to refresh | |
files: ['public/**/*.*'], | |
// informs browser-sync to proxy our expressjs app which would run at the following location | |
proxy: 'http://localhost:3000', | |
// informs browser-sync to use the following port for the proxied app | |
// notice that the default port is 3000, which would clash with our expressjs | |
port: 4000, | |
// open the proxied app in chrome | |
browser: ['google chrome'] | |
}); | |
}); | |
gulp.task('default', ['browser-sync']); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment