⚡️ Servino
Servino is zero-configuration http server with hot reload.
Install
$ npm i -g servino
# or
$ npm i servino --save-dev
CLI
# 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
API
const Servino = require('Servino')
const servino = Servino(options?: object) : void
servino.start() // start server
servino.stop() // stop server
Available Options
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 |
servino.json
Config file:/*
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"
]
}
TLS/SSL
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
Notes
- All pull requests are welcome, feel free.
Author
License
MIT