nextServer.ts 752 B

1234567891011121314151617181920212223242526272829
  1. import next from "next";
  2. import express from "express";
  3. import { parse } from "url";
  4. import logger from "@server/logger";
  5. import config from "@server/config";
  6. const nextPort = config.server.next_port;
  7. export async function createNextServer() {
  8. // const app = next({ dev });
  9. const app = next({ dev: process.env.ENVIRONMENT !== "prod" });
  10. const handle = app.getRequestHandler();
  11. await app.prepare();
  12. const nextServer = express();
  13. nextServer.all("*", (req, res) => {
  14. const parsedUrl = parse(req.url!, true);
  15. return handle(req, res, parsedUrl);
  16. });
  17. nextServer.listen(nextPort, (err?: any) => {
  18. if (err) throw err;
  19. logger.info(`Next.js server is running on http://localhost:${nextPort}`);
  20. });
  21. return nextServer;
  22. }