Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/frugal/dep/std/http.ts>serveDir

A frugal web framework
Go to Latest
function serveDir
import { serveDir } from "https://deno.land/x/frugal@0.3.0/dep/std/http.ts";

Serves the files under the given directory root (opts.fsRoot).

import { serve } from "https://deno.land/std@0.224.0/http/server.ts";
import { serveDir } from "https://deno.land/std@0.224.0/http/file_server.ts";

serve((req) => {
  const pathname = new URL(req.url).pathname;
  if (pathname.startsWith("/static")) {
    return serveDir(req, {
      fsRoot: "path/to/static/files/dir",
    });
  }
  // Do dynamic responses
  return new Response();
});

Optionally you can pass urlRoot option. If it's specified that part is stripped from the beginning of the requested pathname.

import { serveDir } from "https://deno.land/std@0.224.0/http/file_server.ts";

// ...
serveDir(new Request("http://localhost/static/path/to/file"), {
  fsRoot: "public",
  urlRoot: "static",
});

The above example serves ./public/path/to/file for the request to /static/path/to/file.

Parameters

req: Request

The request to handle

optional
opts: ServeDirOptions = [UNSUPPORTED]