【Node.js实战】一文带你开发博客项目之Koa2重构(实现session、开发路由、联调、日志)
const Koa = require('koa');
const Router = require('koa-router');
const views = require('koa-views');
const convert = require('koa-convert');
const session = require('koa-session');
const passport = require('koa-passport');
// 创建Koa应用实例
const app = new Koa();
const router = new Router();
// 配置session
app.keys = ['your-session-secret'];
const CONFIG = {
key: 'koa:session', /** (string) cookie key (default is koa:session) */
maxAge: 86400000, /** (number) maxAge in ms (default is 1 days) */
overwrite: true, /** (boolean) overwrite or not (default true) */
httpOnly: true, /** (boolean) httpOnly or not (default true) */
signed: true, /** (boolean) signed or not (default true) */
};
app.use(session(CONFIG, app));
// 配置passport
app.use(passport.initialize());
app.use(passport.session());
// 配置模板引擎
app.use(views('views', {
extension: 'ejs'
}));
// 配置路由
router.get('/', async (ctx) => {
await ctx.render('index', { title: '首页' });
});
router.get('/admin', async (ctx) => {
await ctx.render('admin', { title: '管理页' });
});
// ...其他路由配置
// 挂载路由
app.use(router.routes());
app.use(router.allowedMethods());
// 监听端口
app.listen(3000);
console.log('服务器运行在 http://localhost:3000/');
这段代码展示了如何使用Koa2创建一个基础的Web应用框架,包括配置session、使用passport进行身份验证、使用模板引擎渲染页面和设置路由。这为开发者提供了一个清晰的框架,可以在此基础上继续开发其他功能。
评论已关闭