URL-адрес прокси-сервера не работает с задачей BrowserSync Gulp

Может ли кто-нибудь сказать мне, почему мой URL-адрес прокси-сервера не работает с BrowserSync и Gulp? Вместо этого он просто продолжает использовать http://localhost:3000 в качестве URL-адреса разработки.

gulp.task('watch', ['bs'], function() {
  gulp.watch('scss/*.scss', ['scss', browserSync.reload]);
});

gulp.task('bs', function() {
    browserSync.init(['css/style1.css', 'css/style2.css'], {
      proxy: 'dev.site.com'
    });
});

gulp.task('default', ['scss', 'watch']);

person Cofey    schedule 17.02.2015    source источник
comment
Ваш синтаксис выглядит неправильно по сравнению с документами -› browsersync.io/docs/api/#api -browserSync   -  person Heikki    schedule 17.02.2015
comment
Вы имеете в виду, что он продолжает открывать URL-адрес localhost: 3000?   -  person Heikki    schedule 17.02.2015
comment
Правильный. Он просто полностью игнорирует URL-адрес разработчика, который я пытаюсь использовать. (что соответствует моему локальному сайту WordPress)   -  person Cofey    schedule 17.02.2015
comment
я настроил некоторые пользовательские URL-адреса для своего виртуального хоста, и после некоторых обновлений (imho) некоторые внутренние настройки были изменены. так что теперь я установил port, как настроено на моем виртуальном хосте (порт 80). теперь работает нормально. надеюсь помочь   -  person Martino    schedule 31.10.2018


Ответы (4)


Я думаю, что это работает так, как ожидалось.

Проксируйте СУЩЕСТВУЮЩИЙ vhost. BrowserSync создаст для вашего виртуального хоста URL-адрес прокси-сервера для просмотра вашего сайта.

http://www.browsersync.io/docs/options/#option-proxy

person Heikki    schedule 17.02.2015
comment
Вы можете остановиться на этом? Зачем кому-то обертывать существующий виртуальный хост вместо того, чтобы просто получить доступ к localhost:3000 в любом случае? - person Jake Wilson; 21.06.2016
comment
Когда то, к чему им нужно получить доступ, отсутствует в localhost:3000? - person Heikki; 21.06.2016

У меня была такая же проблема, и я сделал следующее, чтобы остановить синхронизацию браузера с использованием адреса/порта по умолчанию:

gulp.task('bs', function () {
    browserSync.init(null, {
        proxy: 'localhost:8080', // 'dev.site.com' in your example
        port: 5000
    });
});

Это сработало для меня и изменило адрес браузера-scyn на localhost: 5000.

person Maximilian Lindsey    schedule 05.11.2015
comment
Эй, я использую вот так .browserSync({ files: [ 'public/**/*.js', 'public/**/*.css', './resources/**/*.php', './resources/**/*.less' ], proxy: '0.0.0.0:8181', port: 8282, ghostMode: { scroll: true } }), у меня не работает. но прокси-порт работает нормально - person Jyupin; 19.10.2016

Вам нужно использовать порт в конце URL-адреса прокси. По умолчанию 3000, но можно указать и в конфиге. Если вы не добавите порт в конце URL-адреса, BrowserSync не перезагрузит страницу. Это то, что сработало для меня.

function server() {
  browserSync.init({
    proxy: 'dev.site.com', //alias
    port: 8080, //<-- changed default port (default:3000);
    open: false //<-- set false to prevent opening browser
  });
}

Таким образом, в вашем браузере вы посетите: http://dev.site.com:8080

person Henry    schedule 12.04.2021

Чтобы решить эту проблему, когда у меня возникли проблемы в аналогичном сценарии, мне пришлось включить параметр порта (который @maximilian упомянул в своем ответе), а также files.

gulp.task('bs', function() {
    browserSync.init({
        proxy: 'dev.site.com',
        port: 4040,
        files: ['*.html', '**/*.css', '**.*.js']
    });
});
person seantunwin    schedule 04.07.2016