UNPKG

1.08 kBJavaScriptView Raw
1const ejs = require('ejs')
2
3const DEFAULT_TEMPLATE = `
4 <!DOCTYPE html>
5 <html lang="en">
6 <head>
7 <meta charset="UTF-8">
8 <script>//inject_meta</script>
9 <title><script>//inject_title</script></title>
10 <script>//inject_component_styles</script>
11 </head>
12 <body>
13 <div id="root">
14 <div><script>//inject_html</script></div>
15 </div>
16 <script>//inject_redux_state</script>
17 <script>//inject_js</script>
18 </body>
19 </html>
20`
21
22export default (template = DEFAULT_TEMPLATE, inject = {}) => {
23 // let html = template
24 // for (let key in inject) {
25 // html = html.replace(`<script>//inject_${key}</script>`, inject[key])
26 // }
27 try {
28 for (let key in inject) {
29 if (typeof inject[key] === 'function')
30 inject[key] = inject[key](template)
31 }
32 } catch (e) {
33 console.log(e)
34 }
35 // console.log(inject)
36 return ejs.render(
37 template, {
38 inject,
39 }, {}
40 )
41}