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标签后,我发现几乎没有图像。 只要我修复图像,它的工作很快!