NAVEGADOR-SINCRONIZACIÓN
Usando la increíble sincronización de navegador
- actualizar los navegadores (cualquiera) cuando cambie el código fuente (HTML, CSS, imágenes, etc.)
- compatible con Windows, MacOS y Linux
- incluso podría ver las actualizaciones de su código (en vivo) usando sus dispositivos móviles
Instalación en MacOS (vea su ayuda para instalar en otro sistema operativo)
Instale NVM, para que pueda probar cualquier versión de Node
brew install nvm # install a Node version manager
nvm ls-remote # list available Node versions
nvm install v10.13.0 # install one of them
npm install -g browser-sync # install Browser-Sync
Cómo usar la sincronización del navegador para sitios estáticos
Veamos dos ejemplos:
browser-sync start --server --files . --host YOUR_IP_HERE --port 9000
browser-sync start --server --files $(ack --type-add=web:ext:htm,html,xhtml,js,css --web -f | tr \\n \ ) --host $(ipconfig getifaddr en0) --port 9000
La --server
opción le permite ejecutar un servidor local en cualquier lugar en el que se encuentre en su terminal y le --files
permite especificar qué archivos se rastrearán para los cambios. Prefiero ser más específico para los archivos rastreados, por lo que en el segundo ejemplo que uso ack
para enumerar extensiones de archivo específicas (es importante que esos archivos no tengan nombres de archivo con espacios) y también uso ipconfig
para encontrar mi IP actual en MacOS.
Cómo usar la sincronización del navegador para sitios dinámicos
En caso de que esté utilizando PHP, Rails, etc., ya tiene un servidor en ejecución, pero no se actualiza automáticamente cuando realiza cambios en su código. Por lo tanto, debe usar el --proxy
interruptor para que la sincronización del navegador sepa dónde está el host para ese servidor.
browser-sync start --files $(ack --type-add=rails:ext:rb,erb,js,css,sass,scss,coffee --rails -f | tr \\n \ ) --proxy 192.168.33.12:3000 --host $(ipconfig getifaddr en0) --port 9000 --no-notify --no-open
En el ejemplo anterior, ya tengo una aplicación Rails ejecutándose en mi navegador 192.168.33.12:3000
. Realmente se ejecuta en una VM usando un cuadro Vagrant, pero pude acceder a la máquina virtual usando el puerto 3000 en ese host. Me gusta --no-notify
detener la sincronización del navegador enviándome una alerta de notificación en el navegador cada vez que cambio mi código y --no-open
detener el comportamiento de sincronización del navegador que carga inmediatamente una pestaña del navegador cuando se inicia el servidor.
IMPORTANTE: en caso de que esté usando Rails, evite usar Turbolinks en el desarrollo, de lo contrario no podrá hacer clic en sus enlaces mientras usa la --proxy
opción.
Espero que sea útil para alguien. He intentado muchos trucos para actualizar el navegador (incluso una publicación anterior que he enviado sobre esta pregunta de StackOverflow usando AlfredApp hace tiempo), pero este es realmente el camino a seguir; no más hacks, simplemente fluye.
CRÉDITO: Inicie un servidor web de recarga en vivo local con un comando