Creé una aplicación en nodejs y koa2
aplicación.js
'use strict'; const Koa = require('koa'); const app = new Koa(); const port = 3000; const router = require('./router'); const path = require("path") const views = require("koa-views"); const bodyParser = require("koa-bodyparser"); const koastatic = require("koa-static"); app.use(koastatic(path.join( __dirname, "./static"))) app.use(views(path.join(__dirname, "./view"), {extension: "ejs"})) router(app); app.listen(port, () => { console.log(`Server is running at http://localhost:${port}`); }); Hay algunos archivos de enrutador en la carpeta router , por ejemplo
índice.js
'use strict'; const fs = require('fs'); module.exports = (app) => { fs.readdirSync(__dirname).forEach(file => { if (file === 'index.js') { return; } const route = require(`./${file}`); app.use(route.routes()).use(route.allowedMethods()); }); }Hay algunas páginas que requieren iniciar sesión para acceder, por ejemplo
tablero.js
'use strict'; const Router = require("koa-router"); const router = new Router({prefix: '/dashboard'}); router .get('/', async (ctx, next) => { let login = ctx.cookies.get('login') || ""; if (!login) { ctx.redirect('/login'); } else { let isexist = //check login status if (isexist && login) { await ctx.render("dashboard", { current_service: "dashboard" }); } else { ctx.redirect('/login'); } } }) module.exports = router;Funciona bien, pero hay muchas páginas, si utilizo esta forma para determinar estas páginas que requieren un inicio de sesión para acceder, parece irrazonable, ¿hay una solución mejor? Gracias.