Skip to main content

Guide

感謝 HAO 所寫的 NestJS 帶你飛 筆記內容多參考此

介紹​

Nest 是一個用於構建高效,可擴展的 Node.js 服務器端應用程序的框架。它使用漸進式 JavaScript,內置並完全支持 TypeScript(但仍然允許開發人員使用純 JavaScript 編寫代碼)並結合了 OOP(面向對象編程),FP(函數式編程)和 FRP(函數式響應編程)的元素。

在底層,Nest 使用強大的 HTTP Server 框架,如 Express(默認)和 Fastify。 Nest 在這些框架之上提供了一定程度的抽象,同時也將其 API 直接暴露給開發人員。這樣可以輕鬆使用每個平台的無數第三方模塊。

哲學​

近年來,感謝 Node.js,JavaScript 已成為前端和後端應用程序的網絡“通用語言”。這產生了令人敬畏的項目,如 Angular,React 和 Vue,它們提高了開發人員的工作效率,並能夠構建快速,可測試和可擴展的前端應用程序。然而,雖然 Node(和服務器端 JavaScript )存在大量優秀的庫,幫助器和工具,但它們都沒有有效地解決主要問題 - 架構。

Nest 提供了一個開箱即用的應用程序架構,允許開發人員和團隊創建高度可測試,可擴展,鬆散耦合且易於維護的應用程序。

安裝​

首先,您可以使用 Nest CLI 構建項目,也可以克隆啟動項目(兩者都會產生相同的結果)。

要使用 Nest CLI 構建項目,請運行以下命令。這將創建一個新的項目目錄,並生成 Nest 核心文件和支持模塊,為您的項目創建傳統的基礎結構。建議初學者使用 Nest CLI 創建新項目。我們將在第一步繼續使用這種方法。

使用 CLI 安裝

$ npm i -g @nestjs/cli
$ nest new project-name

打開瀏覽器並導航到 http://localhost:3000/

為什麼我推薦使用 Angular + Nest.Js​

Node.Js 問世以來,帶動 JavaScript 近十年的高速發展。基本上現在以 Angular、React.Js、Vue.Js 奠定前端三大基礎。 得利於 Node.Js,除了前端的網頁開發,也讓 JavaScript 的觸角延伸至後端、桌面應用、手機 APP… 雖然 JavaScript 本身有許多缺陷,但在微軟推出 TypeScript 後,讓整體穩健性強化不少! 做為一個獨立開發者,做 Side project 或有想要打造自己的個人應用,現在各程式語言都有各種方便框架,都能迅速滿足需求! 曾經也嘗試過 Python/django、Node.Js/Egg.Js,也去比較過 PHP/Lareval、Java/Spring boot、.net Core… 一直嘗試找出一個最適合的組合,才打算開始做自己的東西。結果時間都花在最底層的框架裡,什麼都沒做!

於是開始認真思考獨立開發最需要的是什麼…?

自己獨立開發所期望的…

  1. 好擴展!要加功能時,最好框架本身就具備該功能。不必再花心力選擇要用什麼套件。
  2. 易維護!具有清晰的邏輯分離。雖然都是自己寫的,但難保放個半年後再回頭只想掐死當時的自己
  3. 語言統一!可以一個語言就搞定一切,不要切換寫法,避免開發過程思路打結
  4. 整套框架用法相似或一致!讓開發思路相近!
  5. 使用 Reactive Programing!雖然剛開始須花些心力學習,但掌握後,真心覺得 RP 讓邏輯清晰好讀許多

參考文章 參考文章_blog

Nest 小常識​

SWC (fast compiler) | NestJS - A progressive Node.js framework 開發時候 compiler 的速度快 20 倍