Servino is zero-configuration http server with hot reload.
$ npm i -g servino
# or
$ npm i servino --save-dev
# Getting start
sv -r src -p 3000
# long command
sv --port 8125 --delay 500 --inject --wdir tests,public --ignore node_modules,.git
# short
sv -p 8125 -d 500 -w tests,public -i node_modules,.git -s tests/cert.pem,tests/key.pem
const Servino = require('Servino')
const servino = Servino(options?: object) : void
servino.start() // start server
servino.stop() // stop server
options/Command | Example | Description |
---|---|---|
--config or -c |
null |
specify where config json file is located (directory) |
--host or -H |
'127.0.0.1' |
Set the server address |
--port or -p |
8125 |
Set the server port. |
--root or -r |
'public' |
Set root directory that's being served. Default: current working directory |
--ignore or -i |
node_modules,.git |
which's files or folders should be ignored (Watch ignore) |
--wdir or -w |
tests,public |
Paths to watch for changes. Default: watch everything under root directory |
--delay or -d |
200 |
Realod time between changes (ms). |
--inject or -I |
true |
Inject Css and Javascript files without refresh the browser |
--open or -o |
true |
Open url on the browser |
--verbose or -V |
true |
Show logs |
--ssl or -s |
tests/cert.pem,tests/key.pem |
ssl certifications |
Config file: servino.json
/*
command: sv -c tests
A config file can take any of the command line arguments as JSON key values, for example:
*/
{
"host": "0.0.0.0",
"port": 8125,
"root": ".",
"wdir": [
"app",
"src"
],
"delay": 100,
"ignore":[
"node_modules",
"dist",
".git"
],
"inject": true,
"open": true,
"verbose": true,
"ssl": [
"tests/cert.pem",
"tests/key.pem"
]
}
First, you need to make sure that openssl is installed correctly, and you have key.pem and cert.pem files. You can generate them using this command:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
Then you need to run the server with -s for your certificate files.
# Note: order important
servino -s tests/cert.pem,tests/key.pem
- All pull requests are welcome, feel free.
MIT