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