BrowserSync非常慢

问题描述 投票:28回答:4

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

我使用proxy模式。在没有BrowserSync的情况下浏览页面应该很快。

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

> [email protected] 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,则没有任何区别。

任何想法?

node.js performance browser sync browser-sync
4个回答
54
投票

解决方案很简单 - 但不合逻辑的imho。我在http://project.local下运行了我的本地实例。将其更改为http://project.dev解决了这个问题。我正在运行OS X.


23
投票

您体验的很可能是为.local域上的DNS查找发出Bonjour IPv6查找的结果。这些IPv6查找会在发出原始IPv4 DNS查找之前创建超时延迟。

@RicoLeuthold的解决方案有效,因为.dev域不会在macOS上触发Bonjour查找。但是如果已经有许多vHosts运行在.local域上,并且项目配置为使用这些.local域,那么改变所有vHosts可能会很糟糕。

替代解决方案

另一种方法是在主机文件中添加额外的IPv6 localhost条目(在Linux上:/ etc / hosts,通常在macOS上:/ private / etc / hosts),用于每个IPv4 .local条目。

更改此主机内容...

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

提示:使用REGEXP编辑器

如果您使用的是能够进行正则表达式搜索/替换的Atom或Sublime Text等编辑器,则可以使用以下模式来更新主机文件:

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

此模式还将IPv6条目添加到hosts文件顶部的常规IPv4 localhost条目。在执行搜索/替换之后,您应该检查文件顶部是否有重复的条目...

::1  localhost

...并删除其中一个重复项。


0
投票

就我而言,我使用的是Windows。在分析了firebug上的网络标签后,我发现很少有图像丢失。一旦我修复图像,它工作得很快!


0
投票

我尝试了其他的东西,并且对我很有帮助。

我使用以下命令在Mac上禁用了IPv6:

networksetup -setv6off Wi-Fi

您可以像这样重新打开它:

networksetup -setv6automatic Wi-Fi

我不想切换到.dev,因为我的所有网站都设置得更像这样:

Live site: https://www.myawesomesite.com
Local site: https://dev.myawesomesite.com
© www.soinside.com 2019 - 2024. All rights reserved.