初衷: 平時(shí)有些小服務(wù)不想用python那么重的框架青伤,所以就選Node比較輕的框架來做。首先學(xué)習(xí)這個(gè)過程是很漫長的殴瘦,我也只是記錄一下我在學(xué)習(xí)過程中的一些問題狠角,并且現(xiàn)在是邊學(xué)邊記錄,大家有問題得話可以直接留言聯(lián)系蚪腋,一起探討丰歌。
框架選型
服務(wù)端框架:
Express
、Koa
屉凯、Nestjs
立帖,選koa沒有過多的原因,Nestjs
比較重悠砚,做大型項(xiàng)目比較合適晓勇,類似java
。koa
是基于express
封裝的二代框架灌旧,所以就主觀的選了Koa
绑咱,haha~~,其實(shí)都差不多吧枢泰。-
ORM框架: 期初是完全不知道哪個(gè)框架流行描融,在git上搜了一下
mysql
、orm
等關(guān)鍵字之后宗苍,發(fā)現(xiàn)了那么一個(gè)星星數(shù)比較多的稼稿。其中有typeorm
、sequelize
讳窟、bookshelf
等等一堆堆的让歼,選typeorm
的原因很簡單:- 支持
MySQL
、Postgres
等關(guān)系型數(shù)據(jù)庫丽啡。 - 支持
MongoDB
等非關(guān)系型數(shù)據(jù)庫谋右。 - 支持ts的語法(順便學(xué)習(xí)一下~)。
- 還有最重要的就是寫法上看起來比另外兩個(gè)順眼多了补箍。(雖然我哪個(gè)都不會(huì))
- 支持
總結(jié): 這么下來就選了koa
+ typeorm
這兩個(gè)框架了改执。
學(xué)習(xí)過程
# Question:當(dāng)前面臨的問題
1. 我怎么用ts去書寫?
2. 環(huán)境怎么去搭建?
如何搭建ts的書寫環(huán)境坑雅?
- 編輯器選用的是
vscode
辈挂。 - 貌似好像直接擼ts的代碼,然后編譯為js就可以運(yùn)行裹粤。大體看了一下终蒂,全局安裝了一下
typescript
,sudo npm install typescript -g
, 全局安裝一下,sudo
是Mac下需要管理員權(quán)限才可以安裝拇泣。安裝完畢之后噪叙,就可以使用tsc
命令了,可以使用tsc --version
查看是否安裝成功霉翔。 - 創(chuàng)建文件
src/index.ts
function hello(name: string) {
return 'hello' + name;
}
使用tsc src/index.ts
命令編譯睁蕾,編譯出index.js
文件。
如圖:
image.png
完美债朵,成功編譯子眶。
- 接下來,根目錄下初始化一個(gè)
tsconfig.json
文件序芦,使用命令tsc --init
壹店。修改tsconfig.json
中outDir
字段,配置文件的輸出位置./dist
,理論上輸出到與src
文件夾同級(jí)的dist
目錄中芝加,相對(duì)位置指的是相對(duì)配置文件所在的位置,一切都是那么美好射窒。然而當(dāng)再次運(yùn)行tsc src/index.ts
時(shí)藏杖,竟然還是在當(dāng)前文件夾下輸出的,what the fuck!脉顿!不起作用蝌麸?咋回事?百度了一番艾疟,在官網(wǎng)上發(fā)現(xiàn)了這么一段話:
When input files are specified on the command line, tsconfig.json files are ignored.
說人話就是:在命令行上指定輸入文件時(shí)来吩,tsconfig.json
將被忽略。不開心蔽莱、不開心弟疆、不開心,這.... - 接下來直接運(yùn)行
tsc
命令盗冷,ok 解決問題怠苔。如圖:
image.png - 好了,ts也就這樣吧仪糖,配置用到的時(shí)候再去查吧柑司,接下來,是不是該去看看
typeorm
是個(gè)啥東西了? 下一篇锅劝。