web-dev-qa-db-ja.com

BrowserSyncが非常に遅い

開発には 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とパッケージインストーラーを使用して)ノードを最初からインストールしましたが、エラーを取り除くことができませんでした。

さらに、BrowserSyncがGulpを使用して実行された場合でも、コマンドラインで実行された場合でも、違いはありません。

何か案が?

33
Rico Leuthold

解決策は非常に単純ですが、非論理的な見方です。ローカルインスタンスをhttp://project.localで実行しました。 http://project.devに変更すると、問題が解決しました。 OS Xを実行しています。

54
Rico Leuthold

発生する可能性が最も高いのは、.localドメインのDNSルックアップに対してBonjour IPv6ルックアップが発行された結果です。これらのIPv6ルックアップは、元のIPv4 DNSルックアップが発行されるまでタイムアウト遅延を作成します。

.devドメインはmacOSでBonjourルックアップをトリガーしないため、@ RicoLeutholdのソリューションが機能します。しかし、これらの.localドメインを使用するように構成されたプロジェクトで.localドメインでそれらの多くをすでに実行している場合、すべてのvHostを変更するのはひどい場合があります。

代替ソリューション

別の方法は、各IPv4 .localエントリのホストファイル(Linuxでは/ etc/hosts、macOSでは通常:/ private/etc/hosts)に追加のIPv6 localhostエントリを追加することです。

このホストのコンテンツを変更...

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などのエディターを使用している場合、hostsファイルを更新するパターンは次のとおりです。

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

このパターンは、hostsファイルの上部にある一般的なIPv4 localhostエントリーにIPv6エントリーも追加します。検索/置換を行った後、ファイルの上部に重複するエントリがないか確認する必要があります...

::1  localhost

...重複の1つを削除します。

22
Jpsy

私の場合、私は窓を使用していました。 firebugのネットワークタブを分析した後、いくつかの画像が欠落していることに気付きました。画像を修正するとすぐにうまくいきました!

0
Maximus

私は何か他のものを試してみましたが、とてもうまくいきました。

Macで次のコマンドを使用してIPv6を無効にしました。

networksetup -setv6off Wi-Fi

次のようにして元に戻すことができます。

networksetup -setv6automatic Wi-Fi

すべてのサイトが次のように設定されているため、.devに切り替えたくありませんでした。

Live site: https://www.myawesomesite.com
Local site: https://dev.myawesomesite.com
0
Patrick Hladun