servitsy
Small, local HTTP server for static files.
- Small: no dependencies, 26.5 kilobytes gzipped.
- Local: designed for local development workflows.
- Static: serves files and directory listings.
Usage
npx servitsy [directory] [options]
[!NOTE]
servitsy is a command-line tool, published as a npm package. It requires Node.js version 18 or higher, or a compatible runtime like Deno or Bun.
bunx servitsy
deno run --allow-net --allow-read --allow-sys npm:servitsy
Calling servitsy without options will:
- serve the current directory at
http://localhost:8080
(listening on hostname 0.0.0.0
); - try the next port numbers if
8080
is not available; - serve
index.html
files for folders, and .html
files when the extension was omitted in the URL; - serve directory listings (for folders without an index file).
Options
You can configure servitsy's behavior with options. For example:
npx servitsy -p 3000 --cors
npx servitsy dist --dir-list false
- Use
npx servitsy --help
for an overview of available options. - Read doc/options.md for details and examples.
Changelog
See doc/changelog.md for the release history.
License
This package is licensed under the MIT license.
Alternatives
[!WARNING]
servitsy is not designed for production. There are safer and faster tools to serve a folder of static HTML to the public. See Apache, Nginx, @fastify/static
, etc.
For local testing, here are a few established alternatives you may prefer, with their respective size:
If size and dependency count is not a concern and you want something stable and battle-tested, I recommend serve and http-server.
Otherwise, servor, sirv-cli or servitsy might work for you.
† Installed size is the uncompressed size of the package and its dependencies (as reported by du
on macOS; exact size may depend on the OS and/or filesystem).