Ric*_*old 31 browser performance sync node.js browser-sync
我很乐意使用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
Run Code Online (Sandbox Code Playgroud)
我从头开始安装节点(使用brew
和包安装程序),但无法摆脱错误.
此外,如果使用Gulp或命令行运行BrowserSync,则没有任何区别.
任何的想法?
Ric*_*old 55
解决方案很简单 - 但不合逻辑的imho.我在我的本地实例下运行http://project.local
.改变它来http://project.dev
解决问题.我正在运行OS X.
Jps*_*psy 24
您体验的很可能是为.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
Run Code Online (Sandbox Code Playgroud)
......主持内容......
::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
Run Code Online (Sandbox Code Playgroud)
提示:使用REGEXP编辑器
如果您使用的是能够进行正则表达式搜索/替换的Atom或Sublime Text等编辑器,则可以使用以下模式来更新主机文件:
Search:
(127.0.0.1)(.*)$
Replace:
::1$2\n$1$2
Run Code Online (Sandbox Code Playgroud)
此模式还将IPv6条目添加到hosts文件顶部的常规IPv4 localhost条目.在执行搜索/替换之后,您应该检查文件顶部是否有重复的条目...
::1 localhost
Run Code Online (Sandbox Code Playgroud)
...并删除其中一个重复项.
归档时间: |
|
查看次数: |
11013 次 |
最近记录: |