const Koa = require("koa"); const { resolve } = require("path"); const staticServer = require("koa-static"); const koaBody = require("koa-body"); const cors = require("koa2-cors"); const logger = require("koa-logger"); const app = new Koa(); app.use(staticServer(resolve(__dirname, "./static"))); app.use(koaBody()); app.use(logger()); // 设置跨域 app.use( cors({ origin: function(ctx) { if (ctx.url.indexOf("/dooring") > -1) { return "*"; // 允许来自所有域名请求 } return ""; }, exposeHeaders: ["WWW-Authenticate", "Server-Authorization", "x-test-code"], maxAge: 5, // 该字段可选,用来指定本次预检请求的有效期,单位为秒 credentials: true, allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"], allowHeaders: [ "Content-Type", "Authorization", "Accept", "x-requested-with", "Content-Encoding" ] }) ); let htmlStr = ""; app.use(async (ctx, next) => { console.log(ctx.url); if (ctx.url === "/dooring/render") { htmlStr = ctx.request.body; ctx.body = "success"; } else if (ctx.url.indexOf("/html") === 0) { ctx.type = "html"; ctx.body = htmlStr; } }); app.listen(3000);