srvs
is a zero dependency dev server with support for static content in addition to JavaScript modules hosted from local files and esm.sh.
npm i -g srvs
Then you may run with:
srvs
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
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
andscriptRoot
options will fall back to the current directory if they don't exist. - The
BROWSER
environment variable can be used to control which application to open your page in, or set tonone
to disable browser opening entirely. This feature is inspired by the popularcreate-react-app
.
srvs
is MIT licensed. See LICENSE.