plugin notification debug browsersync node.js performance browser sync browser-sync

node.js - notification - browsersync laravel



BrowserSync extremadamente lento (3)

Me encantaría usar BrowserSync para el desarrollo. Sin embargo, la carga de la página (no solo la recarga después de los cambios) es extremadamente lenta.

Yo uso el modo proxy . Navegar por la página sin BrowserSync es tan rápido como debería ser.

Una razón puede ser el siguiente error cuando instalo 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

Instalé el nodo desde cero (utilizando brew y el instalador de paquetes), pero no pude deshacerme del error.

Además, no hace una diferencia si BrowserSync se ejecuta utilizando Gulp o sobre la línea de comandos.

¿Alguna idea?


En mi caso estaba usando ventanas. Después de analizar la pestaña de red en firebug noté que faltaban algunas imágenes. Tan pronto como arreglé las imágenes funcionó rápido!


Es muy probable que tengas este problema en macOS!

De lo que he recopilado de mi investigación, esto es el resultado de las búsquedas de Bonjour IPv6 que se emiten para ciertas búsquedas de DNS en dominios .local. Estas búsquedas de IPv6 crean un retraso de tiempo de espera hasta que se emite la búsqueda de DNS IPv4 original.

La solución de @RicoLeuthold funciona, porque los dominios .dev no activan las búsquedas de Bonjour en macOS. Pero puede ser terrible cambiar todos tus vHosts si ya tienes muchos de ellos ejecutándose en dominios .local con proyectos configurados para usar estos dominios .local también.

SOLUCIÓN ALTERNATIVA

Una alternativa es agregar una entrada de host local de IPv6 adicional en su archivo de hosts (generalmente / private / etc / hosts) para cada entrada .local de IPv4.

Cambiar este contenido de hosts ...

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

... a que aloja contenido ...

::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


CONSEJO: UTILIZAR UN EDITOR REGEXP

Si está utilizando un editor como Atom o Sublime Text capaz de regexp buscar / reemplazar, aquí hay un patrón para actualizar su archivo hosts:

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

Este patrón también agregará entradas de IPv6 a la entrada general de local de IPv4 en la parte superior del archivo de hosts. Después de realizar la búsqueda / reemplazo, debe revisar la parte superior de su archivo para ver una entrada duplicada de ...

::1 localhost

... y eliminar uno de los duplicados.


La solución es bastante simple, pero imógica. Tuve mi instancia local ejecutándose bajo http://project.local . Cambiarlo a http://project.dev solucionó el problema. Estoy ejecutando OS X.