NHttp
An Simple web-framework for Deno and Friends.
Features
- Focus on simple and easy to use.
- Fast Performance. One of the fastest Frameworks.
- Cross runtime support (Deno, Node, Bun, etc).
- Low overhead & True handlers (no caching anything).
- Built-in Middleware.
- Sub router support.
- Template engine support (jsx, ejs, nunjucks, eta, pug, ..etc).
- Return directly on handlers.
- Auto parses the body (
json / urlencoded / multipart / raw
).
v1.3.0 requires Deno 1.35 or higher.
Installation
deno.land
import nhttp from "https://deno.land/x/nhttp/mod.ts";
deno-npm
import nhttp from "npm:nhttp-land";
npm/yarn
npm i nhttp-land
// or
yarn add nhttp-land
// module
import nhttp from "nhttp-land";
// commonjs
const nhttp = require("nhttp-land").default;
Usage
Create file app.ts
and copy-paste code.
import nhttp from "https://deno.land/x/nhttp/mod.ts";
const app = nhttp();
app.get("/", () => {
return "Hello, World";
});
app.get("/cat", () => {
return { name: "cat" };
});
app.listen(8000, (err, info) => {
if (err) throw err;
console.log(`> Running on port ${info.port}`);
});
Run
deno run --allow-net app.ts
more docs => https://nhttp.deno.dev
3rd-party libs
Like std-libs
for NHttp.
Usage
// Deno
import {...} from "https://deno.land/x/nhttp/lib/my-libs.ts";
// Deno NPM
import {...} from "npm:nhttp-land/my-libs";
// Node or Bun
import {...} from "nhttp-land/my-libs";
ServeStatic
import nhttp from "https://deno.land/x/nhttp/mod.ts";
import serveStatic from "https://deno.land/x/nhttp/lib/serve-static.ts";
const app = nhttp();
app.use(serveStatic("./my_folder"));
// with prefix
app.use(serveStatic("./my_folder", { prefix: "/assets" }));
// or
// app.use("/assets", serveStatic("./my_folder"));
// with URL
app.use(serveStatic(new URL("./my_folder", import.meta.url)));
more libs => https://nhttp.deno.dev/docs/3rd-party-lib