'use strict'; const path = require('path'); const app = require('express')(); const mountRoute = require('./routes/index'); /** * 通用中间件 ***/ app.use(require('morgan')('dev')); // , {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;