const path = require('path'); import httpErrors from 'http-errors'; import Koa from 'koa'; import Router from 'koa-router'; import sendfile from 'koa-sendfile'; const koa = new Koa(); const router = new Router(); // // error handler // koa.use(async (ctx, next) => { // try { // await next(); // } catch (err) { // ctx.status = err.status || 500; // ctx.body = err.message; // } // }); // Frontend router.get('/service-worker.js', async (ctx) => { ctx.set('Content-Type', 'application/javascript'); const stats = await sendfile(ctx, path.join(__dirname, 'static/service-worker.js')); if (!ctx.status) ctx.throw(httpErrors.NotFound()); }); router.get('*', async (ctx) => { const stats = await sendfile(ctx, path.join(__dirname, 'static/index.html')); if (!ctx.status) ctx.throw(httpErrors.NotFound()); }); koa.use(router.routes()); // 404 handler koa.use(async () => { throw httpErrors.NotFound(); }); export default koa;