A debugging web server that auto-reloads pages on local modifications.


Develop web pages quickly with instant browser refresh.

dweb is a simple node.js webserver for Linux that watches a local directory for file modifications, and then automatically reloads any pages loaded in a browser window. It does this by listening for inotify events on Linux and passing them to any pages that have been served via a socket.io channel. It does all this transparently by modifying HTML files on-the-fly to inject a little bit of Javascript that sets up the socket.io connection to listen for piped inotify events. The end result is that you can have any browser automatically refresh the page when you save a new version of any file, even a remote browser running on another computer.

That said, dweb stands for debugging webserver, so don't event think of using it in a production environment. It also assumes some sane defaults:

  1. The webserver is started on port 8000 and the socket.io server is started on port 8080.
  2. The HTML is assumed to be well-formed enough to contain at least a body or head element.

Install via npm. Remember, you need a Linux system that supports the inotify package.

npm install -g dweb

Type dweb in any directory and point your browser to http://localhost:8000. No files are harmed in the running of this webserver.