@@ -17,29 +17,32 @@ app.use(bodyParser.json())
17
17
app . use ( bodyParser . urlencoded ( { extended : false } ) )
18
18
// app.use(express.static(path.resolve(__dirname, "./Browser")))
19
19
20
-
21
- const markup = `<!DOCTYPE html>
22
- <html lang="en">
23
- <head>
24
- <meta charset="UTF-8">
25
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
26
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
27
- <title>SSR- React</title>
28
- <link rel="stylesheet" href="/dev/bundle.css">
29
- </head>
30
- <body>
31
- <div id="root"><!--App--></div>
32
-
33
- <script src="/dev/bundle.js"></script>
34
- </body>
35
- </html>`
36
-
20
+ const Html = ( { body, styles, title } ) => {
21
+ const stylesheet = ( styles ) ? `<style>${ styles } </style>` : ''
22
+ return `
23
+ <!DOCTYPE html>
24
+ <html>
25
+ <head>
26
+ <title>${ title } </title>
27
+ ${ stylesheet }
28
+ </head>
29
+ <body style="margin:0">
30
+ <div id="root">${ body } </div>
31
+ <script src="/dev/bundle.js"></script>
32
+ </body>
33
+ </html>
34
+ `
35
+ }
37
36
const routerBasePath = ( process . env . NODE_ENV === 'dev' ) ? `/${ functionName } ` : `/.netlify/functions/${ functionName } /`
38
37
39
38
app . get ( routerBasePath , ( req , res ) => {
40
39
Data ( ) . then ( users => {
41
- const html = renderToString ( < App data = { users } /> )
42
- res . send ( markup . replace ( "<!--App-->" , html ) )
40
+ const reactAppHtml = renderToString ( < App data = { users } /> )
41
+ const html = Html ( {
42
+ title : 'React SSR!' ,
43
+ body : reactAppHtml
44
+ } )
45
+ res . send ( html )
43
46
} )
44
47
} )
45
48
0 commit comments