HTTP Watcher
A server that automatically reload browsers when file changed, help developers focus on coding.
No copy and paste javascript code needed, just start http-watcher
, that's all.
Web Server for Web developers! HTTP Watcher = HTTP file Server + HTTP proxy + Directory Watcher: automatically reload connected browsers when file changed, works for both static and dynamic web project.
build
# go get github.com/howeyc/fsnotify
go build # you may want to copy http-watcher binary to $PATH for easy use. prebuilt binary comming soon
Usage
http-watcher args # acceptable args list below, -h to show them
-command="": Command to run before reload browser, useful for preprocess, like compile scss. The files been chaneged, along with event type are pass as arguments
-ignores="": Ignored file pattens, seprated by ',', used to ignore the filesystem events of some files
-monitor=true: Enable monitor filesystem event
-port=8000: Which port to listen
-private=false: Only listen on lookback interface, otherwise listen on all interface
-proxy=0: Local dynamic site's port number, like 8080, HTTP watcher proxy it, automatically reload browsers when watched directory's file changed
-root=".": Watched root directory for filesystem events, also the HTTP File Server's root directory
HTML + JS + CSS (static web project)
http-watcher -port 8000 -root /your/code/root
Dynamic web site: Clojure, golang, Python, JAVA
# your dynamic site listen on 9090
# http-watcher act as a proxy
http-watcher -port 8000 -root /your/code/root -proxy=9090 -ignores test/,classes
HTTP file server, no filesystem monitoring
# like python -m SimpleHTTPServer, should handle concurrency better
http-watcher -monitor=false
Web browser
Add the following HTML code to your index.html
:
<script src="http://127.0.0.1:8000/_d/js"></script>
Manually reload the page in your browser. The browser Javascript console should display a message like: http-watcher reload connected
. From that point on, any file changes should cause the page to be automatically reloaded.