pvgttm-web/lib/serve.js

28 lines
783 B
JavaScript

module.exports = async (config) => {
let isReady = false;
const http = require("http"),
address = require("network-address"),
handler = require("serve-handler"),
build = require("./build"),
{
build: buildOpts,
logFunction: log = () => {},
serve: serveOpts,
} = config || {},
{ outputPath, srcPath } = buildOpts || {},
{ port = 5000 } = serveOpts || {},
server = http.createServer((request, response) => {
// You pass two more arguments for config and middleware
// More details here: https://github.com/vercel/serve-handler#options
return handler(request, response, { public: outputPath });
});
await build(config);
server.listen(port, async () => {
log(
`Running at http://${address()}:${port} / http://localhost:${port}`
);
});
};