代理URL不能与BrowserSync Gulp任务一起使用

问题描述 投票:8回答:3

有人能告诉我为什么我的代理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']);
gulp gulp-watch browser-sync
3个回答
-4
投票

我认为它按预期工作。

代理一个现有的虚拟主机。 BrowserSync将使用代理URL包装您的vhost以查看您的站点。

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


3
投票

我有同样的问题并执行以下操作以阻止浏览器同步使用默认地址/端口:

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

这对我有用,并将浏览器同步地址更改为localhost:5000


-2
投票

为了解决这个问题,当我遇到类似情况的麻烦时,我不得不包括端口选项(@maximilian在他的回答中提到),并且还需要files选项。

gulp.task('bs', function() {
    browserSync.init({
        proxy: 'dev.site.com',
        port: 4040,
        files: ['*.html', '**/*.css', '**.*.js']
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.