1 Star 0 Fork 0

Nicolia/cat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
app.js 2.05 KB
一键复制 编辑 原始数据 按行查看 历史
Nicolia 提交于 2021-10-14 23:20 . 将配置项抽离
const Koa = require('koa');
const app = new Koa();
const views = require('koa-views');
const json = require('koa-json');
const onerror = require('koa-onerror');
const bodyparser = require('koa-bodyparser');
const logger = require('koa-logger');
const session = require('koa-generic-session');
const redisStore = require('koa-redis');
const { redis_conf } = require('./conf/db_config');
const cors = require('koa2-cors');
const crawlerRouter = require('./routes/crawler');
const indexRouter = require('./routes/index');
const adminRouter = require('./routes/admin');
const { redisInfo, corsOrigin } = require('./conf/conf');
// error handler
onerror(app);
// 使用koa2-cors中间件
app.use(
cors({
origin: function (ctx) {
return corsOrigin;
},
// 它的值是一个布尔值,表示是否允许发送Cookie。默认情况下,Cookie不包括在CORS请求之中
credentials: true,
})
);
// middlewares
app.use(
bodyparser({
enableTypes: ['json', 'form', 'text'],
})
);
app.use(json());
app.use(logger());
app.use(require('koa-static')(__dirname + '/public'));
app.use(
views(__dirname + '/views', {
extension: 'pug',
})
);
// 设置一下加密cookie的key
app.keys = ['n1i@c#l$i%a^'];
// 引入session中间件
app.use(
session({
key: 'cat.sid', // cookie的name
prefix: 'cat.sess', // redis key 的前缀
// 设置cookie配置
cookie: {
path: '/', // 作用于全局,根目录
httpOnly: true, // 禁止修改
maxAge: 24 * 60 * 60 * 1000, // 设置过期时间
},
store: redisStore(redisInfo),
})
);
// logger
app.use(async (ctx, next) => {
const start = new Date();
await next();
const ms = new Date() - start;
console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});
// routes
app.use(indexRouter.routes(), indexRouter.allowedMethods());
app.use(crawlerRouter.routes(), crawlerRouter.allowedMethods());
app.use(adminRouter.routes(), adminRouter.allowedMethods());
// error-handling
app.on('error', (err, ctx) => {
console.error('server error', err, ctx);
});
module.exports = app;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/nicoliaFire/cat.git
[email protected]:nicoliaFire/cat.git
nicoliaFire
cat
cat
master

搜索帮助