UNPKG

pre-fetch-plugin

Version:

A pre-fetch plugin for Vite and Webpack

21 lines (20 loc) 778 B
import path from 'path'; import esbuild from 'esbuild'; export async function buildScript() { const scriptPath = path.resolve(__dirname, '../script/pre-fetch-script.ts'); const result = await esbuild.build({ entryPoints: [scriptPath], write: false, bundle: true, minify: true, format: 'iife', target: 'es2018', }); return result.outputFiles[0].text; } export async function injectScriptToHtml(html, options) { const script = await buildScript(); const optionsScript = `<script>window.__PRE_FETCH_OPTIONS__ = ${JSON.stringify(options)};</script>`; const asyncScript = `<script async>${script}</script>`; return html.replace('</head>', `${optionsScript}${asyncScript}</head>`); }