Skip to content
Zero dependency dev server
JavaScript AppleScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

srvs serves modern webapps for dev, with none of the fat

Build Status codecov npm

srvs is a zero dependency dev server with support for static content in addition to JavaScript modules hosted from local files and



npm i -g srvs

Then you may run with:



No install required, just run:

npx srvs

(npx comes with npm 5.2+ and higher.)


Install with npm / Yarn:

npm i -D srvs

Then add srvs to the scripts in your package.json:

"scripts": {
  "start": "srvs"

Now you may run with:

npm start


Command Line

Here are the available command line arguments:

Argument Usage Default
port The port on which the dev server will listen. 8080
docRoot The relative path from which static assets such as index.html will be served. public
scriptRoot The relative path from which local JavaScript modules will be served. src

Each argument is passed in the form --argument=value. Here is an example using all available arguments:

npx srvs --port=3000 --docRoot=static --scriptRoot=js


srvs offers a programmatic way to integrate running with existing JavaScript code.

You may bring in the srvs API function using import if you have support for ES6 syntax:

import srvs from "srvs";

srvs(options).then(config => {
  // dev server is now open for business

Or using require:

const srvs = require("srvs");

srvs(options).then(config => {
  // dev server is now open for business

The options object has the same properties and values as the arguments supported by the command line version. The config parameter provided to the resolved Promise has the same properties as options.


  • This is only for use as a development tool, please do not use in production.
  • The docRoot and scriptRoot options will fall back to the current directory if they don't exist.
  • If you intend to use dynamic import (as the examples/hot project does) to hot reload changed modules, be aware this is not supported by some browsers.
  • The BROWSER environment variable can be used to control which application to open your page in, or set to none to disable browser opening entirely. This feature is inspired by the popular create-react-app.


srvs is MIT licensed. See LICENSE.

You can’t perform that action at this time.