slim-nestjs

a slim version of the nestjs

Usage no npm install needed!

<script type="module">
  import slimNestjs from 'https://cdn.skypack.dev/slim-nestjs';
</script>

README

Slim NestJS

Introduction

A Dependency-Inject Framework Based On Koa. A Reduced Version Of The Well-Known Framework NestJS.

ToDo

  • 控制器的基本修饰器(Controller、Get、Post等)
  • 控制器的依赖注入
  • 中间件的依赖注入(待测试)
  • 请求/响应循环基本节点
  • 日志系统
  • 可视化监控系统
  • 测试用例
  • 集成前端Webpack开发环境
  • 集成ORM数据库管理系统

install

yarn add slim-nestjs

usage

The App is actually equivalent to Koa as well known. The related APIs can be found in https://koajs.com or https://www.koajs.com.cn

1. run server

// index.ts

import App from 'slim-nestjs';

const app = new App(); // as new Koa()
const PORT = 9001;

app.use(async (ctx, next) => {
  await next();
  ctx.body = 'Hello World!'
})
app.routes(); // resolve controllers and middlewares 
app.listen(PORT, () => console.log(`the server run on ${PORT}`));

2. add controller

// controller.hello.ts

import { Context, Next, Controller, Get } from 'slim-nestjs';

@Controller('prefix')
class Hello {
  constructor(private inject: AllList) {}

  @Get()
  score(ctx: Context) {
    ctx.body = 'Hello World!';
  }

  @Get('api/:id')
  async student(ctx: Context) {
    const { id } = ctx.params
    ctx.body = `api, ${id}`;
  }
}

export { LikeMiddleWare, Xiaobai };

then