Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. // ROOT/server.js
  2. const express = require("express")
  3. const { renderToString } = require("react-dom/server")
  4.  
  5. const { ServerStyleSheet } = require("styled-components")
  6.  
  7. const SSR = require("./static")
  8.  
  9. const { Meep: ReactSSR } = require("./src/ssr")
  10.  
  11. const sheet = new ServerStyleSheet()
  12. try {
  13. const html = renderToString(sheet.collectStyles(<ReactSSR />))
  14. const styleTags = sheet.getStyleTags() // or sheet.getStyleElement();
  15. } catch (error) {
  16. // handle error
  17. console.error(error)
  18. } finally {
  19. sheet.seal()
  20. }
  21.  
  22. server(process.env.PORT || 8080)
  23. console.log("process.env.PORT")
  24. console.log(process.env.PORT)
  25. console.log(process.env.HOST)
  26. console.log(process.env.BROWSER_REFRESH_URL)
  27.  
  28. function server(port) {
  29. const app = express()
  30.  
  31. app.use(express.static("static"))
  32. app.get("/", (req, res) =>
  33. res.status(200).send(renderMarkup(renderToString(SSR)))
  34. )
  35.  
  36. // app.listen(port)
  37.  
  38. app.listen(port, () => process.send && process.send("online"))
  39. }
  40.  
  41. function renderMarkup(html) {
  42. return `<!DOCTYPE html>
  43. <html>
  44. <head>
  45. <title>Webpack SSR Demo</title>
  46. <meta charset="utf-8" />
  47. ${sheet}
  48. </head>
  49. <body>
  50. <div id="app">${html}</div>
  51. <script src="./index.js"></script>
  52.  
  53. <script src="${process.env.BROWSER_REFRESH_URL}"></script>
  54.  
  55. </body>
  56. </html>`
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement