proxy - 使用原始 URL,而不是代理,通过浏览器同步

标签 proxy localhost gulp browser-sync

最近从 Grunt.js 切换到 Gulp.js,因为很多人告诉我它有多好、有多快(这是真的!)。我已添加BrowserSync到我的 Gulpfile.js,使其更容易在多个设备上进行测试。它工作得很好而且设置很简单。就上下文而言,我 95% 的工作时间都在开发 WordPress 网站,并在启用了多站点的 Apache 虚拟主机上运行它们,并为每个客户端设置了许多本地子域,例如 site1.domain.dev、site2 .domain.dev 等。这非常有效,我已经这样做了几年了。但是,由于 BrowserSync 需要创建我的网站的代理,以便能够同步和注入(inject) CSS,因此当前通过 BrowserSync 运行的网站将路由到 http://localhost:3000。这很好,我明白为什么需要发生这种情况,但它对 WordPress 有点困惑(因为 URL 不一样等),而且我是 TypeKit/Cloud 字体的大用户,这意味着因为该网站是路由到本地主机后,没有加载任何字体。当然,我可以将 http://localhost:3000 添加到 TypeKit 上每个站点的域列表中,但这感觉像是一种解决方法,并且想知道是否有更好的方法做吧。

我已在 Gulpfile.js 的 BrowserSync 部分添加:

gulp.task('serve', function() {
    browserSync({
        proxy: 'site1.domain.dev'
    });

    gulp.watch('assets/styles/source/**/*.scss', ['styles']);
    gulp.watch('*.php', reload);
    gulp.watch('assets/js/source/*.js', ['scripts']);
    gulp.watch('assets/js/plugins/**/*.js', ['plugins']);
});

所以我的问题是,BrowserSync 是否可以直接转到我的 URL ( http://site1.domain.dev ),而不是通过 http://localhost:3000 进行路由?作为额外的好处,如果可以从 BrowserSync 代理属性中删除该域,那就太棒了,因为我使用自动化脚本在我的 WP Multisite 安装上设置一个新站点,并且真的不想编辑我的 gulpfile每次我建立一个新网站时。

感谢您的帮助! :)

最佳答案

对我来说,它的工作方式是指定host,然后open: 'external',如下所示:

browserSync.init({
  proxy: 'http://myproject.dev/',
  host: 'myproject.dev',
  open: 'external'
});

关于proxy - 使用原始 URL,而不是代理,通过浏览器同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27755206/

相关文章:

xmlhttprequest - 为什么 localhost 需要 CORS?

javascript - 如何使用 gulp-uglify 缩小 ES6 函数?

javascript - __webpack_hmr 转到错误的端口并失败

symfony - 有没有办法自动从 Assetic 迁移到 gulp?

http - 用于实现代理服务器 : monitoring , 跟踪、保存和(重新加载)Http 流量的 J2EE 解决方案

java - 如何将 Glassfish 设置为通过代理服务器?

ubuntu - 加载工具时查尔斯代理卡住

java - URLConnection(Proxy proxy) 忽略设置的代理

php - Symfony http:来自 [::1] 的 TLS 握手错误

python - MySQLdb/Python/LocalHost - 查询运行没有错误,但没有结果