Pico-static-server
Tiny yet fully functional functional Node.js static files server with zero dependencies with HTTPS support.
Install
Via npm:
npm install --save pico-static-server
Example
You can start right away by running
node ./examples/pico-http-server.js
assuming you put your content into ./examples/static/
folder.
HTTPS example requires you to generate SSL cerificates first:
cd ./examples
; Generate 2048-bit RSA private key and remove the password from generated key
openssl genrsa -des3 -passout pass:x -out localhost.pem 2048 && openssl rsa -passin pass:x -in localhost.pem -out localhost.key && rm localhost.pem
; Generate a Certificate Signing Request (CSR)
openssl req -new -key localhost.key -out localhost.csr
; Generate a self-signed certificate that is valid for 365 days with sha256 hash and remove CSR
openssl x509 -req -sha256 -days 365 -in localhost.csr -signkey localhost.key -out localhost.crt && rm localhost.csr
Then install generated certificate in system, mark as trusted and you are ready:
node ./examples/pico-https-server.js
Usage
You may want to create your own static HTTP server:
const createServer = require('pico-static-server');
const staticServer = createServer({
defaultFile: 'index.html',
staticPath: './static',
port: 8080,
});
or even HTTPS one:
const createServer = require('pico-static-server');
const staticServer = createServer({
defaultFile: 'index.html',
staticPath: './static',
port: 8080,
protocol: 'https',
cert: __dirname + '/localhost.crt',
key: __dirname + 'localhost.key',
});
createServer() returns an instance of http.Server or https.Server to give you control over it if needed
MIT found in LICENSE
file.