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