代码拉取完成,页面将自动刷新
import Koa from 'koa';
import session from 'koa-generic-session';
import CSRF from 'koa-csrf';
import views from 'koa-views';
import convert from 'koa-convert';
import json from 'koa-json';
import bodyParser from 'koa-bodyparser';
import methodOverride from 'koa-methodoverride';
import logger from 'koa-logger';
import flashMessage from 'koa-flash-message';
import config from '../config/config';
import router from './routes';
import koaRedis from 'koa-redis';
import models from './models';
import middlewares from './middlewares';
import cacheMiddle from './middlewares/cache';
import cookie from 'koa-cookie';
const redisStore = koaRedis({
url: config.redisUrl
});
const app = new Koa();
app.keys = [config.secretKeyBase];
global.awsAccount=config.awsAccount;
// not serve static when deploy
if(config.serveStatic){
app.use(convert(require('koa-static')(__dirname + '/../public')));
}
app.use(convert(session({
store: redisStore,
prefix: 'kails:sess:',
maxAge: 24 * 60 * 60 * 1000, //one day in ms,
key: 'kails.sid'
})));
app.use(cacheMiddle());
app.use(cookie());
app.use(bodyParser());
app.use(methodOverride((req, _res) => {
if (req.body && (typeof req.body === 'object') && ('_method' in req.body)) {
// look in urlencoded POST bodies and delete it
const method = req.body._method;
delete req.body._method;
return method;
}
}));
app.use(convert(json()));
app.use(convert(logger()));
//views with pug
app.use(views(__dirname + '/views', { extension: 'pug' }));
app.use(middlewares.handlefavicon);
// catch error
app.use(middlewares.catchError);
// csrf
// app.use(new CSRF({
// invalidSessionSecretMessage: 'Invalid session secret',
// invalidSessionSecretStatusCode: 403,
// invalidTokenMessage: 'Invalid CSRF token',
// invalidTokenStatusCode: 403,
// excludedMethods: [ 'GET', 'HEAD', 'OPTIONS' ],
// disableQuery: false
// }));
// add helpers for views
app.use(middlewares.addHelper);
app.use(flashMessage);
require('koa-validate')(app);
app.use(router.routes(), router.allowedMethods());
if (process.argv[2] && process.argv[2][0] == 'c') {
const repl = require('repl');
global.models = models;
repl.start({
prompt: '> ',
useGlobal: true
}).on('exit', () => { process.exit(); });
}
else {
app.listen(config.port);
}
export default app;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。