Skip to content
/ nb2 Public

Simple Node.js services make your development more flexible.

License

Notifications You must be signed in to change notification settings

hans262/nb2

Repository files navigation

The Nb2

Simple Node.js services make your development more flexible. Provide middleware and controller syntax, and route Writing method by decorator.

Install

npm install nb2

Features

  • Middleware
  • Controller
  • Route decorator
  • Response static

The simple example

import { Nb2 } from "nb2";
const app = new Nb2({ port: 8080 });
app.run();

Use Controller

Routing syntax utilizes decorators, need to configure in tsconfig.json:

{ "experimentalDecorators": true }

Your Controller code.

import { Controller, Context, Get, Post, sfn } from "nb2";

@Controller("test")
export class Test {
  // path -> /test?a=1&b=2
  @Get()
  [sfn()](ctx: Context) {
    ctx.json(ctx.query);
  }

  // path -> /test/post
  @Post("post")
  async [sfn()](ctx: Context) {
    const body = await ctx.body("json");
    ctx.json(body);
  }

  // path -> /test/rand/123
  @Get("rand/*")
  [sfn()](ctx: Context) {
    ctx.text("hello world");
  }

  // path -> /test/123
  @Get(":id")
  [sfn()](ctx: Context) {
    ctx.json(ctx.params);
  }
}

Install the Controller into the service.

import { controllers } from "nb2";

app.use(controllers("/api", Test));
app.use(controllers("/admin", Test2, Test3, ...));

About

Simple Node.js services make your development more flexible.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published