shift73k/assets_old/node_modules/svg-sprite-loader/examples/server-side-rendering
2022-08-13 07:32:36 -04:00
..
build progress on migrating to heex templates and font-icons 2022-08-13 07:32:36 -04:00
main.js progress on migrating to heex templates and font-icons 2022-08-13 07:32:36 -04:00
README.md progress on migrating to heex templates and font-icons 2022-08-13 07:32:36 -04:00
webpack.config.js progress on migrating to heex templates and font-icons 2022-08-13 07:32:36 -04:00

Server side rendering example

When webpack config target option is 'node' svg-sprite-loader will use isomorphic runtime sprite module.

Demo

Input

main.js

import symbol from '../assets/twitter.svg';

// Import sprite instance which already contains twitter logo required above
import sprite from 'svg-sprite-loader/runtime/sprite.build';

// Render sprite
const spriteContent = sprite.stringify();

const pageContent = `
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
${spriteContent}

<svg viewBox="${symbol.viewBox}">
  <use xlink:href="#${symbol.id}"></use>
</svg>
</body>
</html>
`;

console.log(pageContent);

Output