BROWSER-SYNC
Sử dụng Trình duyệt đồng bộ hóa tuyệt vời
- cập nhật trình duyệt (bất kỳ) khi mã nguồn thay đổi (HTML, CSS, hình ảnh, v.v.)
- hỗ trợ Windows, MacOS và Linux
- bạn thậm chí có thể xem các cập nhật mã của mình (trực tiếp) bằng thiết bị di động của mình
Cài đặt sẵn trên MacOS (xem trợ giúp của họ để cài đặt trên hệ điều hành khác)
Cài đặt NVM, vì vậy bạn có thể thử bất kỳ phiên bản Node nào
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ách sử dụng đồng bộ hóa trình duyệt cho các trang web tĩnh
Hãy xem hai ví dụ:
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
Các --server
tùy chọn cho phép bạn chạy một máy chủ bất cứ nơi nào địa phương bạn đang ở trong thiết bị đầu cuối của bạn và --files
cho phép bạn xác định những file này sẽ được theo dõi các thay đổi. Tôi thích cụ thể hơn cho các tệp được theo dõi, vì vậy trong ví dụ thứ hai tôi sử dụng ack
để liệt kê các phần mở rộng tệp cụ thể (điều quan trọng là các tệp đó không có tên tệp có dấu cách) và cũng sử dụngipconfig
để tìm IP hiện tại của tôi trên MacOS.
Cách sử dụng đồng bộ hóa trình duyệt cho các trang web động
Trong trường hợp bạn đang sử dụng PHP, Rails, v.v., bạn đã có một máy chủ đang chạy, nhưng nó không tự động làm mới khi bạn thay đổi mã của mình. Vì vậy, bạn cần sử dụng công --proxy
tắc để cho phép đồng bộ hóa trình duyệt biết nơi lưu trữ của máy chủ đó.
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
Trong ví dụ trên, tôi đã có ứng dụng Rails chạy trên trình duyệt của mình 192.168.33.12:3000
. Nó thực sự chạy trên máy ảo bằng hộp Vagrant, nhưng tôi có thể truy cập vào máy ảo bằng cổng 3000 trên máy chủ đó. Tôi muốn --no-notify
dừng đồng bộ hóa trình duyệt gửi cho tôi thông báo thông báo trên trình duyệt mỗi khi tôi thay đổi mã và--no-open
dừng hành vi đồng bộ hóa trình duyệt tải ngay lập tức tab trình duyệt khi máy chủ khởi động.
QUAN TRỌNG: Chỉ trong trường hợp bạn đang sử dụng Rails, tránh sử dụng Turbolinks khi phát triển, nếu không bạn sẽ không thể nhấp vào liên kết của mình trong khi sử dụng --proxy
tùy chọn.
Hy vọng nó sẽ hữu ích cho ai đó. Tôi đã thử nhiều thủ thuật để làm mới trình duyệt (thậm chí một bài đăng cũ tôi đã gửi về câu hỏi StackOverflow này bằng cách sử dụng AlfredApp trước đây), nhưng đây thực sự là cách tốt nhất; Không còn hack, nó chỉ chảy.
CREDIT: Bắt đầu một máy chủ web tải lại trực tiếp cục bộ bằng một lệnh