koa + typeorm (一)

初衷: 平时有些小服务不想用python那么重的框架,所以就选Node比较轻的框架来做。首先学习这个过程是很漫长的,我也只是记录一下我在学习过程中的一些问题,并且现在是边学边记录,大家有问题得话可以直接留言联系,一起探讨。

框架选型

  • 服务端框架: ExpressKoaNestjs,选koa没有过多的原因,Nestjs比较重,做大型项目比较合适,类似javakoa是基于express封装的二代框架,所以就主观的选了Koa,haha~~,其实都差不多吧。

  • ORM框架: 期初是完全不知道哪个框架流行,在git上搜了一下mysqlorm等关键字之后,发现了那么一个星星数比较多的。其中有typeormsequelizebookshelf等等一堆堆的,选typeorm的原因很简单:

    1. 支持MySQLPostgres等关系型数据库。
    2. 支持MongoDB 等非关系型数据库。
    3. 支持ts的语法(顺便学习一下~)。
    4. 还有最重要的就是写法上看起来比另外两个顺眼多了。(虽然我哪个都不会)

总结: 这么下来就选了koa + typeorm 这两个框架了。

学习过程

# Question:当前面临的问题
1. 我怎么用ts去书写?
2. 环境怎么去搭建?
如何搭建ts的书写环境?
  1. 编辑器选用的是vscode
  2. 貌似好像直接撸ts的代码,然后编译为js就可以运行。大体看了一下,全局安装了一下typescriptsudo npm install typescript -g, 全局安装一下,sudo 是Mac下需要管理员权限才可以安装。安装完毕之后,就可以使用 tsc 命令了,可以使用 tsc --version查看是否安装成功。
  3. 创建文件 src/index.ts
function hello(name: string) {
  return 'hello' + name;
}

使用tsc src/index.ts命令编译,编译出index.js文件。
如图:

image.png

完美,成功编译。

  1. 接下来,根目录下初始化一个tsconfig.json文件,使用命令tsc --init。修改tsconfig.jsonoutDir字段,配置文件的输出位置./dist,理论上输出到与src文件夹同级的dist目录中,相对位置指的是相对配置文件所在的位置,一切都是那么美好。然而当再次运行tsc src/index.ts时,竟然还是在当前文件夹下输出的,what the fuck!!不起作用?咋回事?百度了一番,在官网上发现了这么一段话:
    When input files are specified on the command line, tsconfig.json files are ignored. 说人话就是:在命令行上指定输入文件时,tsconfig.json将被忽略。不开心、不开心、不开心,这....
  2. 接下来直接运行tsc命令,ok 解决问题。如图:
    image.png
  3. 好了,ts也就这样吧,配置用到的时候再去查吧,接下来,是不是该去看看typeorm是个啥东西了? 下一篇
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。