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

npm install dweb
10 downloads in the last week
17 downloads in the last month


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. This includes HTML and stylesheets like CSS or Less. dweb 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 a socket.io connection to listen for inotify events from a Linux filesystem.

The end result is that you can have any reasonably modern browser automatically refresh the page when you save a new version of any file, even a remote browser running on another computer. This saves you from having to manually reload the page after each change, which allows near-realtime rendering and updating as you modify HTML and CSS files.

That said, dweb stands for debugging webserver, so don't event think of using it in a production environment. At the very least, it assumes that HTML files contain at least a body or head element.


dweb needs a Linux system that allows the inotify package to be used. The browser needs to support socket.io, which includes Internet Explorer 5.5+, Safari 3+, Chrome 4+, Firefox 3+, and mobile Safari and Android browsers (basically all browsers).


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

npm install -g dweb

Or install locally into a node_modules subdirectory.

npm install dweb

and then run node node_modules/dweb/dweb.js


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

npm loves you