JSPM

@vikit/nestjs

0.1.0-alpha.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q7490F
  • License MIT

A Dependency-Inject Framework based on Koa.

Package Exports

  • @vikit/nestjs

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 (@vikit/nestjs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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