6
Używam serwera Express i używam browserSync do oglądania zmian. Kiedy uruchamiam npm start
, to rozpoczyna się zadanie haustem, który działa:BrowserSync ciągłe GET za pomocą Express/Gulp
// Server task
gulp.task('server', function(cb) {
// We use this `called` variable to make sure
// the callback is only executed once
var called = false;
return nodemon({
script: 'server.js',
watch: ['server.js', 'app/**/*.js', 'config/**/*.js']
})
.on('start', function onStart() {
if (!called) {
cb();
}
called = true;
})
.on('restart', function onRestart() {
// Also reload the browsers after a slight delay
setTimeout(function reload() {
browserSync.reload({
stream: false
});
}, 500);
});
});
// BrowserSync
gulp.task('browser-sync', ['server'], function() {
browserSync.init({
// All of the following files will be watched
files: ['public/**/*.*'],
// Tells BrowserSync on where the express app is running
proxy: 'http://localhost:3000',
port: 4000,
open: false,
notify: false,
logPrefix: project.name,
logConnections: false,
logLevel: 'silent'
});
});
Jednak w oknie terminala, to utrzymuje się na wyświetlanie następujących czynności:
GET /browser-sync/socket.io/?EIO=3&transport=polling&t=1428091521010-28291 200 10.482 ms - -
GET /browser-sync/socket.io/?EIO=3&transport=polling&t=1428091521032-28292 200 10.573 ms - -
GET /browser-sync/socket.io/?EIO=3&transport=polling&t=1428091521053-28293 200 8.754 ms - -
GET /browser-sync/socket.io/?EIO=3&transport=polling&t=1428091521082-28294 200 7.013 ms - -
GET /browser-sync/socket.io/?EIO=3&transport=polling&t=1428091521110-28295 200 8.339 ms - -
GET /browser-sync/socket.io/?EIO=3&transport=polling&t=1428091521134-28296 200 12.367 ms
Co jest tego przyczyną? Jak mogę to naprawić?
Nie wydaje się to problemem, wystarczy pamiętać, że synchronizacja przeglądarki jest odpytywana w poszukiwaniu zmian, jeśli coś trzeba przeładować. Z jakiego urządzenia uzyskujesz dostęp do serwera? Być może nie mają jeszcze gniazd internetowych i tym samym cofają się do połączenia głosowania XHR. – ddprrt
definiujesz localhost: 3000 (3000 jest portem), a następnie ustawiasz port: 4000 w następnej linii ... brzmi dziwnie –
Dzieje się tak, ponieważ '' browserSync.init() '' uruchamia proxy do localhost: 3000 na inny port (4000). Nie wiem, dlaczego tak dużo wyrzuca. Robi coś podobnego na moim końcu i to jest denerwujące. – Wenzil