nhttp-land v1.3.26
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.
CLI
Deno
deno run -Ar npm:create-nhttp
Npm
npm create nhttp@latest
Manual 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;
Simple Usage
Create file app.ts
and copy-paste this 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);
Run
deno run -A app.ts
Using JSX + Htmx
Create file app.tsx
and copy-paste this code.
/** @jsx n */
/** @jsxFrag n.Fragment */
import nhttp from "https://deno.land/x/nhttp/mod.ts";
import { htmx, n, renderToHtml } from "https://deno.land/x/nhttp/lib/jsx.ts";
const app = nhttp();
app.engine(renderToHtml);
app.use(htmx());
app.get("/", () => {
return (
<button hx-post="/clicked" hx-swap="outerHTML">
Click Me
</button>
);
});
app.post("/clicked", () => {
return <span>It's Me</span>;
});
app.listen(8000);
Run
deno run -A app.tsx
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
License
23 days ago
2 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
5 months ago
5 months ago
6 months ago
5 months ago
7 months ago
7 months ago
5 months ago
8 months ago
8 months ago
9 months ago
12 months ago
12 months ago
11 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
10 months ago
10 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago