Koa2-TS/src/app/index.ts

33 lines
796 B
TypeScript

import path from "path";
import Koa from "koa";
import KoaBody from "koa-body";
import KoaStatic from "koa-static";
const parameter = require("koa-parameter");
require("../config/env.config"); // 加载配置
import { router } from "../routers"; // 加载路由
import errHandler from "./errorHandler"; // 加载自定义异常
export const app = new Koa();
app.use(
KoaBody({
multipart: true,
formidable: {
uploadDir: path.join(__dirname, "../upload"),
keepExtensions: true,
},
parsedMethods: ["POST", "PUT", "PATCH", "DELETE"],
})
);
app.use(KoaStatic(path.join(__dirname, "../upload")));
app.use(parameter(app));
app.use(router.routes()).use(router.allowedMethods());
// 统一的错误处理
app.on("error", errHandler); // 监听全局异常事件
export default app;