1 Star 1 Fork 0

xulong123 / web_tools

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
index.js 2.27 KB
一键复制 编辑 原始数据 按行查看 历史
xulong123 提交于 2018-03-06 15:33 . 项目上传
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;
NodeJS
1
https://gitee.com/null_639_7345/web_tools.git
git@gitee.com:null_639_7345/web_tools.git
null_639_7345
web_tools
web_tools
master

搜索帮助