Package Exports
- nhttp-land
- nhttp-land/dist/mod.esm.js
- nhttp-land/dist/mod.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nhttp-land) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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.
CLI
Deno
deno run -Ar npm:create-nhttpNpm
npm create nhttp@latestManual 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.tsUsing 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.tsxmore 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
