-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprerender.js
27 lines (20 loc) · 965 Bytes
/
prerender.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// import fs from "node:fs"
// import path from "node:path"
// import { fileURLToPath } from "node:url"
// const __dirname = path.dirname(fileURLToPath(import.meta.url));
// const toAbsolute = p => path.resolve(__dirname, p);
// const template = fs.readFileSync(toAbsolute('dist/static/index.html'), 'utf-8');
// const render = (await import('./dist/server/entry-server.js')).SSRRender;
// const routesToPrerender = fs.readdirSync(toAbsolute('src/pages')).map((file) => {
// const name = file.replace(/\.jsx$/, '').toLowerCase();
// return name == 'home' ? '/' : `/${name}`;
// });
// (async () => {
// for (const url of routesToPrerender){
// const appHTML = render(url);
// const html = template.replace(`<!--ap-html-->`, appHTML);
// const filePath = `dist/static${url === '/' ? '/index' : url}.html`;
// fs.writeFileSync(toAbsolute(filePath), html);
// console.log('pre-rendered:', filePath)
// }
// })();