Sto usando browsersync + gulp con alcuni fantastici plugin per browser, perfectPixel per nominarne uno. Il mio problema è che ogni volta che salvi il mio lavoro, costringe il browser a ricaricare, cancellando il browser e chiudendo l'estensione del browser. Questo mi porta a dover riattivare il plugin e continuare questo flusso di lavoro inefficiente. Qualcuno ha qualche idea?Can browsersync può iniettare contenuto aggiornato nel browser senza un aggiornamento?
UPDATE 2015/07/07 Sotto Matteo, ha fornito alcuni link ad una soluzione che incorpora WebSockets, però non riesco a farlo funzionare con il mio sorso di set-up.
var gulp = require('gulp'),
open = require('gulp-open'),
browserSync = require('browser-sync').create();
var WebSocketServer, socket, wss;
WebSocketServer = require('ws').Server;
wss = new WebSocketServer({
port: 9191
});
var reload = browserSync.reload;
var paths = {
css: 'app/REPSuite/web/static/css/*.css',
js: 'app/REPSuite/web/static/js/*.js',
html: 'app/*.html'
};
gulp.task('reload', function() {
var client, i, len, ref, results;
ref = wss.clients;
results = [];
for (i = 0, len = ref.length; i < len; i++) {
client = ref[i];
results.push(client.send('reload'));
}
return results;
});
socket = null;
this.reloadClient = {
connect: function() {
socket = new WebSocket('wss://localhost:9191');
socket.onopen = function() {
return console.log('connected');
};
socket.onclose = function() {
return console.log('closed');
};
return socket.onmessage = function(message) {
if (message.data === "reload") {
return window.chrome.runtime.reload();
}
};
},
disconnect: function() {
return socket.close();
}
};
// Static Server + watching scss/html files
gulp.task('serve', ['css'], function() {
browserSync.init({
server: "./app",
files: [paths.html, paths.css, paths.js]
});
gulp.watch(paths.css, ['css']);
gulp.watch(paths.html).on('change', browserSync.reload);
});
// Compile sass into CSS & auto-inject into browsers
gulp.task('css', function() {
return gulp.src(paths.css)
.pipe(browserSync.stream());
});
gulp.task('default', ['serve','reload']);
ho trovato questo: https://www.npmjs.com/package/bs-html-injector – Ryuk87