用 Nest.js 開發 API 吧 (一)

Alan Syue

圖片來源:https://docs.nestjs.com/

原文出處:https://newideas.coderbridge.io/2020/11/14/use-nestjs-develop-api/

大約 8 月的時候,我開始計畫重寫 資訊種子培訓計畫 的官網。原本的程式碼經過大約 7 屆的迭代,比較缺乏維護重構,大多是因應招生計劃再重新設計,有點類似活動頁。評估過後因為包袱較少,就打算整個重寫,並嘗試用新一點的技術來開發,也讓我有機會碰 Nest.js。

為什麼選用 Nest.js

當初打算重寫的時候,有和 15 屆的學弟一起討論,前端打算使用 Next.js。後來考慮到後續維護,就想說使用 Node.js,這樣維護的開發者只需要熟悉 JavaScript。

當時的討論也在想說要用哪套 Node.js 框架,於是學弟有提出可以研究看看 Nest.js,是一套架構嚴謹的框架。由於後續維護者會是學生為主,有一套嚴謹架構的框架,可以保持一定的程式品質。

研究之後發現了解到 Nest.js 有以下不錯的優點:
1. 基於 `Express`,但也可以選用配置 `Fastify`
2. 完美支援 `TypeScript`,強型別以及預先檢查減少開發上的預期外錯誤 (這各有擁護者,但我開發上覺得體驗不錯)
3. 嚴謹的分層,彈性高、鬆散耦合、高度可測試及維護
4. 官方文件完善,社群豐富

於是就採用 Nest.js 做為此次專案的後端技術來做開發了。接下來的系列文章會以開發過程的實作紀錄來撰寫。

首先,先來安裝吧

一開始先安裝 Nest.js 提供的 cli 套件:
```
yarn global add @nestjs/cli
```
安裝完後要來創建專案,使用 cli 來建置:
```
nest new project-name
```
建置時會問你要使用 `npm` 還是 `yarn`,就選擇自己想用的

啟動專案

設置完後,移動到專案資料夾
```
cd project-name
```
接著輸入指令啟動
```
yarn start:dev
```
`啟動畫面`

接著到瀏覽器輸入 `http://localhost:3000/`,看到預設的 `Hello World!` 字串代表你成功啟動了

小結

第一篇介紹了
1. 選用 Nest.js 的原因
2. 如何安裝
3. 如何啟動

下一篇預計分享 Nest.js 的專案架構。如果文章有任何錯誤或建議,歡迎告知!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Alan Syue
Alan Syue

Written by Alan Syue

Backend Engineer at UPN | Love to share everything

No responses yet

Write a response