BROWSER-SYNC
Utilizzando l'incredibile Browser-Sync
- aggiorna i browser (qualsiasi) quando cambia il codice sorgente (HTML, CSS, immagini, ecc.)
- supporta Windows, MacOS e Linux
- potresti persino guardare i tuoi aggiornamenti di codice (live) usando i tuoi dispositivi mobili
Installazione su MacOS (visualizza il loro aiuto per l'installazione su altri sistemi operativi)
Installa NVM, così puoi provare qualsiasi versione di Nodo
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
Come utilizzare la sincronizzazione del browser per i siti statici
Vediamo due esempi:
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
L' --server
opzione ti consente di eseguire un server locale ovunque ti trovi nel tuo terminale e --files
ti consente di specificare quali file verranno tracciati per le modifiche. Preferisco essere più specifico per i file tracciati, quindi nel secondo esempio uso ack
per elencare estensioni di file specifiche (è importante che quei file non abbiano nomi di file con spazi) e anche ipconfig
per trovare il mio IP attuale su MacOS.
Come utilizzare la sincronizzazione del browser per i siti dinamici
Nel caso in cui si utilizzi PHP, Rails, ecc., Si dispone già di un server in esecuzione, ma non si aggiorna automaticamente quando si apportano modifiche al codice. Quindi è necessario utilizzare l' --proxy
interruttore per far sapere alla sincronizzazione del browser dove si trova l'host per quel server.
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
Nell'esempio sopra, ho già un'app Rails in esecuzione sul mio browser 192.168.33.12:3000
. Funziona davvero su una VM usando un box Vagrant, ma potrei accedere alla macchina virtuale usando la porta 3000 su quell'host. Mi piace --no-notify
interrompere la sincronizzazione del browser inviandomi un avviso di notifica sul browser ogni volta che modifico il mio codice e --no-open
interrompere il comportamento di sincronizzazione del browser che carica immediatamente una scheda del browser all'avvio del server.
IMPORTANTE: nel caso in cui tu stia usando Rails, evita di usare Turbolink durante lo sviluppo, altrimenti non sarai in grado di fare clic sui tuoi link mentre usi l' --proxy
opzione.
Spero che sarebbe utile a qualcuno. Ho provato molti trucchi per aggiornare il browser (anche un vecchio post che ho inviato su questa domanda StackOverflow usando AlfredApp tempo fa), ma questa è davvero la strada da percorrere; niente più hack, scorre e basta.
CREDITO: avvia un server web di ricarica live locale con un solo comando