Files
vic-server-mongo/src/app.js
chaosBreaking db6467f013 static dir
2019-10-15 22:21:21 +08:00

31 lines
1.2 KiB
JavaScript

'use strict';
const path = require('path');
const app = require('express')();
const mountRoute = require('./routes/index');
/** * 通用中间件 ***/
app.use(require('morgan')(app.get('env') === 'development' ? 'dev' : 'combined')); // , {stream:require('fs').createWriteStream(path.join(__dirname+'/data.log', 'http.log'), {flags: 'a', defaultEncoding: 'utf8'})})) // format: combined, common, dev, short, tiny.
app.use(require('cookie-parser')());
app.use(require('body-parser').json({ limit: '50mb', extended: true })); // 用于过滤 POST 参数
app.use(require('cors')());
app.use(require('compression')());
app.use(require('express').static(path.join(__dirname, '../dist'), { index: 'index.html' })); // 可以指定到 node应用之外的目录上。windows里要把 \ 换成 /。
app.use('/static', require('express').static('userImages'));
app.use(require('helmet')());
app.all('*', function(req, res, next) {
res.setHeader('Access-Control-Expose-Headers', 'token');
next();
});
//初始化所有路由
mountRoute(app);
if (app.get('env') === 'development') {
app.use(require('errorhandler')({
dumpExceptions: true,
showStack: true
}));
}
module.exports = app;