Advertisement
Guest User

express server

a guest
Jul 19th, 2021
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const express=require("express");
  2. const path=require("path");
  3.  
  4. require("babel-register")({
  5.     presets: ["env", "stage-0", "react"]
  6. });
  7.  
  8. const React=require("react");
  9. const {renderToString}=require("react-dom/server");
  10. const {pageTemplate} = require("./pageTemplate");
  11. const App=require("./client/src/App.jsx").default;
  12.  
  13. const app=express();
  14. const port=3001;
  15.  
  16. app.use(express.json());
  17. app.use(express.urlencoded({extended:true}));
  18.  
  19. app.use(express.static(path.join(__dirname,"./client/public")));
  20.  
  21. const renderPage=(reactComponent) => {
  22.     const renderedComponent=renderToString(reactComponent);
  23.     return pageTemplate.replace('<div id="root"></div>', `<div id="root">${renderedComponent}</div>`);
  24. };
  25.  
  26. app.get("*", (req,res) => {
  27.     console.warn("caught request");
  28.     try{
  29.         const context = {};
  30.         const reactApp = renderPage(<App ssrLocation={req.url} />);
  31.         res.send(reactApp);
  32.     }catch(error){
  33.         const result = [error.message, error.stack].join('\r\n');
  34.         console.error(result);
  35.         res.send(result);
  36.     }
  37. });
  38.  
  39. app.listen(port, () => console.log(`server is up on ${port}`));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement