BrowserSync非常慢

我很乐意使用BrowserSync进行开发。 但是,页面加载(不仅在更改后重新加载)非常缓慢。

我使用proxy模式。 浏览不带BrowserSync的页面应该是很快的。

一个原因可能是我安装BrowserSync时出现以下错误:

 > ws@0.4.31 install /usr/local/lib/node_modules/browser-sync/node_modules/socket.io/node_modules/engine.io/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/bufferutil.node SOLINK_MODULE(target) Release/bufferutil.node: Finished CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/validation.node SOLINK_MODULE(target) Release/validation.node: Finished 

我从头开始安装节点(使用brew和软件包安装程序),但无法摆脱错误。

而且,如果使用Gulp或通过命令行运行BrowserSync,则没有什么区别。

任何想法?

解决scheme非常简单 – 但不合逻辑。 我有本地实例在http://project.local下运行。 将其更改为http://project.dev解决了这个问题。 我正在运行OS X.

你很可能在macOS上有这个问题!

从我的研究汇编来看,这是Bonjour IPv6查找在.local域上发布的特定DNS查询的结果。 这些IPv6查找会创build超时延迟,直到发出原始的IPv4 DNS查找。

@RicoLeuthold的解决scheme,因为.dev不会触发在macOS上的Bonjour查找。 但是,如果你已经有很多运行在.local域中的项目,并且configuration了这些.local域名的项目,那么改变你所有的主机是非常糟糕的。

替代解决scheme

另一种方法是在主机文件(通常是/ private / etc / hosts)中为每个IPv4 .local条目添加一个IPv6本地主机条目。

更改此主机的内容…

 127.0.0.1 phpmyadmin.local 127.0.0.1 project1.local 127.0.0.1 project2.local 

…的主机内容…

 ::1 phpmyadmin.local 127.0.0.1 phpmyadmin.local ::1 project1.local 127.0.0.1 project1.local ::1 project2.local 127.0.0.1 project2.local 

TIPP:使用REGEXP编辑器

如果您正在使用像Atom或Sublime Text这样的能够进行正则expression式search/replace的编辑器,请使用以下模式来更新您的主机文件:

 Search: (127.0.0.1)(.*)$ Replace: ::1$2\n$1$2 

这种模式还会将IPv6条目添加到主机文件顶部的常规IPv4本地主机条目中。 search/replace后,您应该检查您的文件的顶部重复条目

 ::1 localhost 

在我的情况下,我正在使用Windows。 在分析萤火虫的networking标签后,我发现几乎没有图像。 只要我修复图像,它的工作很快!