Resolve configuration and restart server on changes.
MIT License
Simple node.js server helper module.
// app.js
const express = require("express");
module.exports = function appFactory() {
const app = express();
app.get("/", (req, res, next) => {
res.send(`Hello, world!`);
});
return app;
};
$ server-helper app.js
--watch
/ -w
: Enable automatic restarting on file changes.--port
/ -p
: Change the port number. [Default: 3000]--host
/ -h
: Change the host.// start.js
const serverHelper = require("@gustavnikolaj/server-helper");
serverHelper({
entrypoint: require.resolve("./app.js"),
port: 5000
});
$ node start.js
The command line flags are still supported.
Configuration can be given in multiple different ways, to support different use-cases. See doc/background/configuration.md.
Options given as cli flags are used before options given as environment variables, which are used before options given in the programmatic interface.
--watch
/ -w
: Enable automatic restarting on file changes.--port
/ -p
: Change the port number. [Default: 3000]--host
/ -h
: Change the host.The path to the entrypoint file is given as the only non-flag argument.
Configuration can also be passed through environment variables.
PORT
: The port number to listen to.SERVERHELPER_PORT
: Same as PORT
, but higher specificity.SERVERHELPER_HOST
: What host to bind to.You call serverHelper with an options object as the only argument. This can only be done when invoking it programatically.
Supported properties:
entrypoint
: The path to the file that implements the server handler.port
: The port number to listen to. (number)host
: The host to bind to. (string)watch
: Enables watch mode. (boolean)