最近从 Grunt.js 切换到 Gulp.js,因为很多人告诉我它有多好和多快(这是真的!)。我已将BrowserSync添加到我的 Gulpfile.js 中,从而更容易在多个设备上进行测试。它工作得很好,而且设置简单。就上下文而言,我用 95% 的工作时间开发 WordPress 站点,并在启用多站点的 Apache 虚拟主机上运行它们,并为每个客户端设置许多本地子域,例如 site1.domain.dev、site2 .domain.dev 等。这很好用,我已经这样做了几年了。但是,因为 BrowserSync 需要为我的站点创建一个代理以便它能够同步和注入 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每次我建立一个新网站。
谢谢您的帮助!:)