Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express=require("express");
- const path=require("path");
- require("babel-register")({
- presets: ["env", "stage-0", "react"]
- });
- const React=require("react");
- const {renderToString}=require("react-dom/server");
- const {pageTemplate} = require("./pageTemplate");
- const App=require("./client/src/App.jsx").default;
- const app=express();
- const port=3001;
- app.use(express.json());
- app.use(express.urlencoded({extended:true}));
- app.use(express.static(path.join(__dirname,"./client/public")));
- const renderPage=(reactComponent) => {
- const renderedComponent=renderToString(reactComponent);
- return pageTemplate.replace('<div id="root"></div>', `<div id="root">${renderedComponent}</div>`);
- };
- app.get("*", (req,res) => {
- console.warn("caught request");
- try{
- const context = {};
- const reactApp = renderPage(<App ssrLocation={req.url} />);
- res.send(reactApp);
- }catch(error){
- const result = [error.message, error.stack].join('\r\n');
- console.error(result);
- res.send(result);
- }
- });
- app.listen(port, () => console.log(`server is up on ${port}`));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement