29 lines
1.1 KiB
JavaScript
29 lines
1.1 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.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; |