Browse Source

Minify pre-rendered HMTL before writing to file

minify
Luke Childs 6 years ago
parent
commit
ac4b770306
  1. 8
      index.js
  2. 1
      package.json

8
index.js

@ -4,6 +4,7 @@ const mkdirp = require('mkdirp');
const cosmiconfig = require('cosmiconfig');
const Prerenderer = require('@prerenderer/prerenderer');
const Puppeteer = require('@prerenderer/renderer-puppeteer');
const htmlnano = require('htmlnano');
module.exports = bundler => {
bundler.on('buildEnd', async () => {
@ -28,17 +29,18 @@ module.exports = bundler => {
const start = Date.now();
const renderedRoutes = await prerenderer.renderRoutes(routes);
const end = Date.now();
renderedRoutes.forEach(route => {
await Promise.all(renderedRoutes.map(async route => {
try {
const outputDir = path.join(outDir, route.route);
const file = path.normalize(`${outputDir}/index.html`);
mkdirp.sync(outputDir);
fs.writeFileSync(file, route.html.trim());
const {html} = await htmlnano.process(route.html.trim());
fs.writeFileSync(file, html);
const end = Date.now();
} catch (err) {
console.error(err);
}
});
}));
console.log(`Finished rendering in ${end - start}ms.`);
prerenderer.destroy();
} catch (err) {

1
package.json

@ -20,6 +20,7 @@
"@prerenderer/prerenderer": "^0.7.2",
"@prerenderer/renderer-puppeteer": "^0.2.0",
"cosmiconfig": "^5.0.6",
"htmlnano": "^0.2.3",
"mkdirp": "^0.5.1"
},
"devDependencies": {

Loading…
Cancel
Save