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是个啥东西了? 下一篇。

你可能感兴趣的:(koa + typeorm (一))