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

时间:2015-02-17 17:27:47

标签: gulp gulp-watch browser-sync

有人可以告诉我为什么我的代理网址不能与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']);

4 个答案:

答案 0 :(得分:3)

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

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

这对我有用,并将browser-scyn地址更改为localhost:5000

答案 1 :(得分:0)

您需要使用代理 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

答案 2 :(得分:-2)

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

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

答案 3 :(得分:-4)

我认为它按预期工作。

  

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

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