Another Development Server
- serve directory of static files
- supports range requests
- controllable through environmental variables
- usage in JS and on the command line
srvd
npm install -D srvd
const srvd = require("srvd");
// note: all options are optional
const obj = srvd.serve({
// whether to accept HTTP Range Requests to return partial files
// default is true
acceptRanges: true,
// set debug to true to see increased logging messages like what port is being used
// default is false
debug: true,
// optional
// default is true
// if path is invalid, automatically try
// adding ".html" to the end
infer: true,
// optional
// maximum number of requests
// default is Infinity
max: 100,
// port
// default is 8088
port: 3000,
// root directory to serve files from
// default is the common working directory
root: "/tmp/test",
// how long to wait for requests in seconds
// before shutting down
// defaults to 60 seconds
wait: 30
});
serve returns the following object:
{
// whether byte range requests are being served
acceptRanges: true,
// whether debug logging is on/off
debug: true,
// whether html inference is enabled
infer: true,
// maximum number of requests
max: 100,
// port server is running on
port: 3000,
// root being used
root: "/tmp/test",
// the http server object being used
server: Server
}
You can just run srvd
, but you have other options available:
srvd --accept-ranges=false --debug --port=8080 --root=$PWD/data
If you want to shut the server down (but not kill the main NodeJS process),
you can run server.close()
or setting the environmental variable SRVD_PLZ_CLOSE
to true
like process.env.SRVD_PLZ_CLOSE=true
;