Nodejs Spring MVC --支持直接debug ts code

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

最近闲来无事,突发奇想,也顺便练练手,于是就萌生了,能否用typescript的decorator写一个Nodejs SpringMVC,然后就有了这个项目。
该项目支持:

依赖注入Controller ,Service
注入GET/POST/PUT/DELETE/PATCH等rest方法
解析rest api的参数,例如RequestParam
上传文件支持Multer
支持在vscode里面直接debug typescript 的代码

想学习如何debug typescript代码的同学可以留意一下,真的很好用。
直接上readMe的部分内容:

Installation

npm i easy-node-ioc --save

Quick Start

Check out the quick start example in test.

Usage

1.Create a Controller

import { Controller} from 'easy-node-ioc';
@Controller('/test')
class TestControl {
    ...
}

2.Create a Service

import { Service } from 'easy-node-ioc';
@Service('')
class TestService {
    ...
}

3.Inject Service

import { Autowired,Controller } from 'easy-node-ioc';
@Controller('/test')
class TestControl {
    @Autowired
    testService: TestService;
    ...
}

4.Define Rest API:GET,POST,PUT,DELETE,PATCH

import { Autowired,Controller,GET,RequestParam } from 'easy-node-ioc';
@Controller('/test')
class TestControl {
    @Autowired
    testService: TestService;
    @Get('/index')
    index(@RequestParam('age') age: number, req: Request, res: Response) {
        console.log('index method');
        this.dbService.queryDb();

        res.status(200).send(this.testService.queryDb());
    }
    ...
}

4.Define Start App

import { Bootstrap, ComponentScan } from "../";
@ComponentScan(join(__dirname, "./Controller.ts"))
@Bootstrap
class App {
  constructor() {}

  app = express();

  main() {
    const server = http.createServer(this.app);

    server.listen(9001, function() {
      console.log("Example app listening at http://%s:%s");
    });
  }
}

How to debug

if you use vscode , just follow .vscode/launch.json , select Launch Program .
if you see Example app has started. in the console , then means test case start successfully .
Try to call http://localhost:9001/api/test/index .

gitHub地址:https://github.com/chenkang08...

说明:由于这个项目也是突发奇想,可能会存在问题。不过,目前我已经用这个包,重写了我公司内部的一个node后台项目,目前一切运行良好。
同时,欢迎issues,如果你觉得还可以,也可以给我一个star。

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看