Repository navigation
Expand file tree
/
Copy pathapp.js
More file actions
87 lines (75 loc) · 2.42 KB
/
Copy pathapp.js
File metadata and controls
87 lines (75 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* @Author: 陈德立*******419287484@qq.com
* @Date: 2024-03-05 18:14:36
* @LastEditTime: 2024-07-01 18:21:11
* @LastEditors: 陈德立*******419287484@qq.com
* @Github: https://github.com/Alan1034
* @Description:
* @FilePath: \static-service\app.js
*
*/
var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var ejs = require('ejs');
var assets = require('./routes/assets');
var auth = require('./subsystem/auth/index');
var indexRouter = require('./routes/index');
// var personnelRouter = require('./routes/personnel');
const { Console } = require('console');
var app = express();
// view engine setup
// app.set('views', path.join("./", 'views'));
// app.set('view engine', 'jade');
//模板类型指定为html
app.engine('html', ejs.__express)
//启动视图引擎
app.set('view engine', 'html')
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
//静态地图资源
app.use(express.static(path.join('./', 'public'), {
setHeaders: (res, path, stat) => {
res.set({
// 'Content-Type': "image/png;charset=UTF8",
'Access-Control-Allow-Origin': '*',
})
}
}));
app.use('/', indexRouter);
app.use('/assets', assets);
app.use('/auth', auth);
// app.use('/personnel', personnelRouter);
app.all('*', function (req, res, next) {
// 统一设置请求头
res.header('Access-Control-Allow-Origin', '*');
next() // pass control to the next handler
})
// catch 404 and forward to error handler
app.use(function (req, res, next) {
next(createError(404));
});
// error handler
app.use((err, req, res, next) => {
// set locals, only providing error in development
// render the error page
const status = err.status || 500
// res.status(status)
// res.locals.message = err.message;
// res.locals.error = req.app.get('env') === 'development' ? err : {};
// res.render('error');
// 网页用的,加了这个接口不能返回JSON
// 统一捕获报错返回,不用trycatch
// Express 不处理 异步 错误,因此您需要通过调用 next();return 来报告错误。
// console.log(res) 不知道为什么这里不加延迟message会发不出去,和res的内部变化有关
setTimeout(() => {
res.status(status).json({
message: `${err.message}`
})
}, 100);
});
module.exports = app;