大約 8 月的時候,我開始計畫重寫 資訊種子培訓計畫 的官網。原本的程式碼經過大約 7 屆的迭代,比較缺乏維護重構,大多是因應招生計劃再重新設計,有點類似活動頁。評估過後因為包袱較少,就打算整個重寫,並嘗試用新一點的技術來開發,也讓我有機會碰 Nest.js。
為什麼選用 Nest.js
當初打算重寫的時候,有和 15 屆的學弟一起討論,前端打算使用 Next.js。後來考慮到後續維護,就想說使用 Node.js,這樣維護的開發者只需要熟悉 JavaScript。
當時的討論也在想說要用哪套 Node.js 框架,於是學弟有提出可以研究看看 Nest.js,是一套架構嚴謹的框架。由於後續維護者會是學生為主,有一套嚴謹架構的框架,可以保持一定的程式品質。
研究之後發現了解到 Nest.js 有以下不錯的優點:
- 基於
Express
,但也可以選用配置Fastify
- 完美支援
TypeScript
,強型別以及預先檢查減少開發上的預期外錯誤 (這各有擁護者,但我開發上覺得體驗不錯) - 嚴謹的分層,彈性高、鬆散耦合、高度可測試及維護
- 官方文件完善,社群豐富
於是就採用 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!
字串代表你成功啟動了
小結
第一篇介紹了
- 選用 Nest.js 的原因
- 如何安裝
- 如何啟動
下一篇預計分享 Nest.js 的專案架構。如果文章有任何錯誤或建議,歡迎告知!