Задать вопрос
restalpo
@restalpo

BrowserSync не работает в офлайне, а XAMPP и WP работают, почему?

Здравствуйте!

Дано:
  • ноут
  • Windows 7, брандмауэр отключен, файервола нет
  • XAMPP
  • Gulp 4
  • Browsersync
  • Wordpress (или просто php-файлы)


Я работаю над Вордпресс-сайтами, используя вышеперечисленный инструментарий. На XAMMP поднят test.loc, туда установлен WP, собираю всякие less- и js-файлы Галпом, в режиме реального времени наблюдаю изменения (в т.ч. и на других устройствах через свою локальную сеть).

Все работает отличнейшим образом, только одно НО: Browsersync отказывается работать, когда я не в сети (на ноуте не подключен вайфай-адаптер, специально отрубаю все для проверки). В офлайне XAMPP работает, Вордпресс тоже, но я не могу пользоваться BS. Мне предстоит поездка, где, ясно дело, не всегда есть сеть, а работать нужно.

Я игрался с настройками BS (proxy, host, online, порты), но безрезультатно: сервер и сайт работают, BS нет. Смутно я предполагаю, что проблема может даже не в BS, а в конфигурации хостов и портов XAMPP. Нужна помощь разума, короче :) StackOverflow и доки изучал, ничего подходящего не нашел, там, в основном про статические сайты и про проблемы с самим наблюдением над php-файлами. Но у меня не статика и перезагрузка прекрасно отрабатывает (когда сеть есть, да :))

hosts
127.0.0.1 test.loc

xampp
<VirtualHost *:80>
    DocumentRoot "F:/xampp/htdocs/projects/test.loc/www"
    ServerName test.loc
 
    <Directory />
        Options Indexes FollowSymLinks Includes ExecCGI
        DirectoryIndex index.php index.html 
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>


var gulp = require('gulp'),
	browserSync = require('browser-sync'),
	reload = browserSync.reload;

var path = {
	watch : {
		php : '*.php'
	}
};

gulp.task('sync', function(done) {
	browserSync({
		proxy: 'dev.loc',
		open : false,
		online : false,
	});
    done();
});

gulp.task('php', function(done){
	reload();
	done();
});

gulp.task('watch', function() {
	gulp.watch(path.watch.php, gulp.parallel('php'));
});

gulp.task('default', gulp.parallel('sync', 'watch'));
  • Вопрос задан
  • 90 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы