Express middleware for generating modulepreload link relations for a Link entity-header based on the requested JavaScript modules import graph. This will prevent request waterfalls for nested module imports. Supports import maps.
npm i modulepreload-express
import express from "express";
import createModulePreloadMiddleware from "modulepreload-express/createModulePreloadMiddleware.mjs";
const app = express();
const APP_ROOT = "app";
app.use(createModulePreloadMiddleware(APP_ROOT));
app.use(express.static(APP_ROOT));
app.listen(3000);
path
{string} Path to the application root directory, eg "app".options
{Object}extensions
{Array<string>} The file extensions to consider for module scripts. Defaults to:["mjs", "js"]
.importMap
{string} Import map string.cache
{Object} A custom (map-like) cache.