nestjs CRUD
Nestjs
- 作為NodeJs里發展勢頭最猛的web框架
- NestJs構建于TypeScript之上,模塊化靈感源于Angular
- 很多思想借鑒自Java的Spring,有興趣的Java小伙伴也可以關注一下。官網: https://nestjs.com/,中文文檔:https://docs.nestjs.cn
第一步
在這一組文章中, 您將了解 Nest 的核心基礎知識。為了了解基本的 nest 應用程序構建模塊,我們將構建一個基本的 CRUD 應用程序, 其中的涵蓋了大量的基礎功能。
語言
我們愛上了?TypeScript,但最重要的是,我們喜歡?Node.js。 這就是為什么 Nest 兼容 TypeScript 和純 JavaScript。 Nest 正利用最新的語言功能,所以要使用原生的 JavaScript 框架,我們需要一個?Babel?編譯器。
在文章中,我們主要使用 TypeScript ,但是當它包含一些 Typescript 特定的表達式時,您總是可以將代碼片段切換到 JavaScript 版本。
【譯者注:由于 nest.js 對 ts 特性支持更好,中文文檔只翻譯 Typescript】
先決條件
請確保您的操作系統上安裝了?Node.js(> = >= 10.13.0)。
一分鐘安裝 node.js?(支持X86 ARM MIPS 等架構,需要版本管理或者系統為 Raspbian 請直接看 NVM)
windows
- 點擊下載 Node.js
- 安裝Node.js
Powershell/CMD 可以打印出這個說明安裝成功。(部分系統需要重啟后環境變量才生效)
$node -v
v12.10.0
$ npm -v
6.10.3Copy to clipboardErrorCopied
就是這么簡單! 不需要安裝拓展,不需要額外安裝 nginx/apache
建立
使用?Nest CLI?建立新項目非常簡單。 只要確保你已經安裝了 npm,然后在你的 OS 終端中使用以下命令:
npm
$ npm i -g @nestjs/cli
$ nest new project-nameCopy to clipboardErrorCopied
yarn
將創建?project?目錄, 安裝node模塊和一些其他樣板文件,并將創建一個?src?目錄,目錄中包含幾個核心文件。
src
├── app.controller.ts
├── app.module.ts
└── main.tsCopy to clipboardErrorCopied
以下是這些核心文件的簡要概述:
| ? | ? |
|---|---|
| app.controller.ts | 帶有單個路由的基本控制器示例。 |
| app.module.ts | 應用程序的根模塊。 |
| main.ts | 應用程序入口文件。它使用?NestFactory?用來創建 Nest 應用實例。 |
main.ts?包含一個異步函數,它負責引導我們的應用程序:
import { NestFactory } from '@nestjs/core';
import { ApplicationModule } from './app.module';async function bootstrap() {const app = await NestFactory.create(ApplicationModule);await app.listen(3000);
}
bootstrap();Copy to clipboardErrorCopied
要創建一個 Nest 應用實例,我們使用了?NestFactory?核心類。NestFactory?暴露了一些靜態方法用于創建應用實例。?create()?方法返回一個實現?INestApplication?接口的對象, 并提供一組可用的方法, 在后面的章節中將對此進行詳細描述。 在上面的main.ts示例中,我們只是啟動 HTTP 服務器,它允許應用程序等待入站 HTTP 請求。
請注意,使用 Nest CLI 搭建的項目會創建一個初始項目結構,我們鼓勵開發人員將每個模塊保存在自己的專用目錄中。
平臺
Nest 旨在成為一個與平臺無關的框架。 通過平臺,可以創建可重用的邏輯部件,開發人員可以利用這些部件來跨越多種不同類型的應用程序。 從技術上講,Nest 可以在創建適配器后使用任何 Node HTTP 框架。 有兩個支持開箱即用的 HTTP 平臺:express 和 fastify。 您可以選擇最適合您需求的產品。
| ? | ? |
|---|---|
| platform-express | Express 是一個眾所周知的 node.js 簡約 Web 框架。 這是一個經過實戰考驗,適用于生產的庫,擁有大量社區資源。 默認情況下使用?@nestjs/platform-express?包。 許多用戶都可以使用 Express ,并且無需采取任何操作即可啟用它。 |
| platform-fastify | Fastify 是一個高性能,低開銷的框架,專注于提供最高的效率和速度。 在這里閱讀如何使用它。 |
無論使用哪種平臺,它都會暴露自己的 API。 它們分別是 NestExpressApplication 和 NestFastifyApplication。
將類型傳遞給 NestFactory.create() 方法時,如下例所示,app 對象將具有專用于該特定平臺的方法。 但是,請注意,除非您確實要訪問底層平臺API,否則無需指定類型。
const app = await NestFactory.create<NestExpressApplication>(ApplicationModule);Copy to clipboardErrorCopied
運行應用程序
安裝過程完成后,您可以在系統命令提示符下運行以下命令,以啟動應用程序監聽入站 HTTP 請求:
$ npm run startCopy to clipboardErrorCopied
此命令在?src?目錄中的?main.ts?文件中定義的端口上啟動 HTTP 服務器。在應用程序運行時, 打開瀏覽器并訪問?http://localhost:3000/。 你應該看到?Hello world!?信息。
總結
以上是生活随笔為你收集整理的nestjs CRUD的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑英语词典软件(电脑上的词典软件)
- 下一篇: kaggle—HousePrice房价预