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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代理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']);
答案

我认为它按预期工作。

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

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

另一答案

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

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

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

另一答案

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

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

以上是关于代理URL不能与BrowserSync Gulp任务一起使用的主要内容,如果未能解决你的问题,请参考以下文章

前端工具-浏览器同步测试(自动刷新热刷新热加载)

前端工具-浏览器同步测试(自动刷新热刷新热加载)

将 browsersync 与 gulp/nodemon 一起使用

Gulp Browsersync会在每次文件更改时导致多次重新加载

gulp+browserSync+nodemon 实现express 全端自动刷新的实践

gulp+browserSync自动刷新页面