A Web Server for Web developers: automatically reload browsers when file changed, help developer focus on coding.
Go Shell
Latest commit 9749860 Mar 31, 2015 @shenfeng Merge pull request #7 from codeskyblue/master
add Content-Length in fileHandler


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.


  # 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


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=""></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.