ServeStatic
Serving assets.
Import
Deno
import {...} from "https://deno.land/x/nhttp@1.3.26/lib/serve-static.ts";
Deno npm
import {...} from "npm:nhttp-land@1.3.26/serve-static";
Node / Bun
import {...} from "nhttp-land/serve-static";
// or
// const {...} = require("nhttp-land/serve-static");
Usage
import nhttp from "https://deno.land/x/nhttp@1.3.26/mod.ts";
import serveStatic from "https://deno.land/x/nhttp@1.3.26/lib/serve-static.ts";
const app = nhttp();
app.use(serveStatic("mydir" /* options */));
// prefix
app.use(serveStatic("mydir", { prefix: "/assets" }));
// or
// app.use("/assets", serveStatic("mydir"));
// etag default false
app.use(serveStatic("mydir", { etag: true }));
// redirect default true
app.use(serveStatic("mydir", { redirect: false }));
// single page apps (spa) default false
app.use(serveStatic("mydir", { spa: true }));
app.listen(8000);
Streaming File
import nhttp from "https://deno.land/x/nhttp@1.3.26/mod.ts";
import serveStatic from "https://deno.land/x/nhttp@1.3.26/lib/serve-static.ts";
import { readAll } from "https://deno.land/std@0.194.0/streams/mod.ts";
const readFile = (path: string) => Deno.open(path).then(readAll);
const app = nhttp();
app.use(serveStatic("mydir", { readFile }));
app.listen(8000);