node层的修改 除了上边提到的两端公用代码以外,还需要添加一个controller用于吐页面,因为使用的是routing-controllers这个库,渲染一个静态页面被封装的非常棒,仅仅需要修改两个页面 render模版的根目录,另一个用来设置要吐出来的模版名称: // controller/index.ts import { Get, Controller, Render, } from 'routing-controllers reflect-metadata' import Koa from 'koa' import koaViews from 'koa-views' import { useKoaServer } from 'routing-controllers controller/index.ts // 这个修改不需要改动`app.ts`,可以直接使用`createKoaServer` import { Get, Controller, } from 'routing-controllers
nodemon,在tsc编译后自动刷新服务器程序 官方手册 官方Express示例 以项目中使用的一些核心依赖: reflect-metadata: 大量装饰器的包都会依赖的一个基础包,用于注入数据 routing-controllers 所以,我们对原来koa的使用方法进行了一个较大的改动,并使用routing-controllers大量的应用装饰器来帮助我们处理大部分的非逻辑代码。
[102],包括Class-Validator[103](校验)、Class-Transformer[104](TS类与普通对象之间的转化、操作)、TypeDI[105](一个实现极简的依赖注入库)、Routing-Controllers https://github.com/typestack/class-transformer [105] TypeDI: https://github.com/typestack/typedi [106] Routing-Controllers : https://github.com/typestack/routing-controllers [107] GenQL: https://genql.now.sh/docs [108] GraphQL-Voyager
也是写了两三年的时间了,刚开始学习Node的时候,hello world就是创建一个HttpServer,后来在工作中也是经历过Express、Koa1.x、Koa2.x以及最近还在研究的结合着TypeScript的routing-controllers
TypeStack,包括Class-Validator(校验)、Class-Transformer(TS类与普通对象之间的转化、操作)、TypeDI(一个实现极简的依赖注入库)、Routing-Controllers