-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
39 lines (35 loc) · 1.35 KB
/
index.js
File metadata and controls
39 lines (35 loc) · 1.35 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
const Koa = require('koa');
// const mount = require('koa-mount');
// const Router = require('@koa/router');
const cors = require('@koa/cors');
// 初始化
const app = new Koa();
const initConfig = require('./config/config.default');
const { bodyParser } = require('@koa/bodyparser');
// const { isApp, spaSupport } = require('./app/middleware/static.middleware');
// const staticRouter = new Router();
const initApiRouter = require('./app/router/index');
const Logger = require('./app/utils/Logger');
const BaseController = require('./app/controller/base.controller');
const defaultConfig = initConfig(app);
app.use(cors());
// // 静态文件挂载
// app.use(mount(defaultConfig.contextPath, isApp));
// // spa 文件支持
// staticRouter.get(`${defaultConfig.contextPath}/(.*)`, spaSupport);
// app.use(staticRouter.routes()).use(staticRouter.allowedMethods());
// 动态接口 api支持
app.use(bodyParser());
initApiRouter(app);
// 统一的错误拦截器 如果业务当中没有及时抛出异常 在这里做兜底
app.on('error', (err, ctx) => {
console.log('统一的错误处理');
// 绑定上下文
const errorController = new BaseController(ctx);
errorController.errorHandle(err);
});
app.listen(defaultConfig.app.port, () => {
Logger.info(
`Server is running at Server is running at URL_ADDRESS${defaultConfig.app.host}:${defaultConfig.app.port}`,
);
});