59 lines
1.6 KiB
JavaScript
Executable File
59 lines
1.6 KiB
JavaScript
Executable File
var createError = require('http-errors');
|
|
var express = require('express');
|
|
var cookieParser = require('cookie-parser');
|
|
var logger = require('morgan');
|
|
var config = require('./config');
|
|
|
|
// 导入路由
|
|
var CartRouter = require('./routes/cart');
|
|
var OrderRouter = require('./routes/order');
|
|
var ShopRouter = require('./routes/shop');
|
|
var UserRouter = require('./routes/user');
|
|
|
|
var app = express();
|
|
// 跨域请求头设置
|
|
app.all("*", function (req, res, next) {
|
|
res.header("Access-Control-Allow-Origin", "*");
|
|
res.header(
|
|
"Access-Control-Allow-Headers",
|
|
"Content-Type,token,Content-Length, Authorization, Accept,X-Requested-With"
|
|
);
|
|
res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
|
|
res.header("X-Powered-By", "bmy");
|
|
if (req.method == "OPTIONS") res.sendStatus(200);
|
|
else next();
|
|
});
|
|
|
|
// 中间件设置
|
|
app.use(logger('dev'));
|
|
// 设置 HTTP请求的大小限制 为100mb
|
|
app.use(express.json({
|
|
limit: config.dev.httpSize
|
|
}));
|
|
app.use(express.urlencoded({ limit: config.dev.httpSize, extended: false }));
|
|
app.use(cookieParser());
|
|
|
|
// 配置挂载路由
|
|
app.use('/api/json/shop/', ShopRouter);
|
|
app.use('/api/json/user/', UserRouter);
|
|
app.use('/api/json/cart/', CartRouter)
|
|
app.use('/api/json/order/', OrderRouter)
|
|
|
|
// 捕捉404错误
|
|
app.use(function (req, res, next) {
|
|
next(createError(404));
|
|
});
|
|
|
|
// 错误处理
|
|
app.use(function (err, req, res, next) {
|
|
// set locals, only providing error in development
|
|
res.locals.message = err.message;
|
|
res.locals.error = req.app.get('env') === 'development' ? err : {};
|
|
|
|
// render the error page
|
|
res.status(err.status || 500);
|
|
|
|
});
|
|
|
|
module.exports = app;
|