Skip to content

Express middleware for generating modulepreload link relations for a Link entity-header based on the requested JavaScript modules import graph.

License

Notifications You must be signed in to change notification settings

dburles/modulepreload-express

Repository files navigation

modulepreload-express

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.

Install

npm i modulepreload-express

Usage example

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);

API

createModulePreloadMiddleware(path[, options])

  • 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.

About

Express middleware for generating modulepreload link relations for a Link entity-header based on the requested JavaScript modules import graph.

Topics

Resources

License

Stars

Watchers

Forks