28 lines
		
	
	
		
			783 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			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}`
 | |
| 		);
 | |
| 	});
 | |
| };
 |