nestjs原中文文檔缺乏太多 故有此係列。直接對比nestjs英文網站翻譯,先機翻再推敲, 一個模塊一個章節
版本: 6.10.14
在這組文章中,您將學習Nest的核心基礎知識。爲了熟悉Nest應用程序的基本構建塊,咱們將構建一個基本的CRUD應用程序,它的特性在入門級涵蓋了不少方面
咱們喜歡使用typescript,可是咱們更喜歡nodejs!,這就是爲何nestjs會兼容typescript和純javascript.
nestjs主要使用typescript
做爲主力開發語言,您不用特地學習它,由於它真的和es6
很像,您能夠在模仿過程當中逐漸瞭解到typescript
.nestjs主要借鑑了angular,而angular借鑑了spring,因此有angular或者java開發經驗將會變得更加容易。javascript
使用Nest CLI設置新項目很是簡單。安裝了npm後,能夠在OS終端中使用如下命令建立新的Nest項目java
$ npm i -g @nestjs/cli $ nest new project-name
將建立項目目錄,安裝節點模塊和其餘幾個樣板文件,並建立一個src/目錄,並用幾個核心文件填充,結構以下:node
src ---app.controller.ts ---app.module.ts ---main.ts
如下是這些核心文件的簡要概述es6
文件名 | 描述 |
---|---|
app.module.ts | 項目的根模塊 |
app.controller.ts | 一個基本的控制器 |
main.ts | 使用核心函數NestFactory建立Nest應用程序實例的應用程序的入口文件 |
main.ts
包含一個異步函數,它將引導整個Nest程序web
import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000); } bootstrap();
要建立一個Nest應用程序實例,咱們使用核心NestFactory
類。NestFactory
公開了一些容許建立應用程序實例的靜態方法。這個create()
方法返回一個application對象,該對象實現了INestApplication
接口,如今只須要監聽3000端口,等待http請求便可。spring
注意,使用Nest CLI構建的項目會建立一個初始的項目結構,咱們鼓勵開發者們將模塊module放到本身的專用目錄中去。typescript
Nest的目標是成爲一個平臺無關的框架。平臺獨立性使得建立可重用的邏輯部件成爲可能,開發人員能夠跨多種不一樣類型的應用程序利用這些邏輯部件。從技術上講,一旦建立了適配器,Nest就可使用任何Node HTTP框架。有兩個現成支持的HTTP平臺:express
和fastfy
。你能夠選擇最適合你須要的express
平臺 | 描述 |
---|---|
express | Express是一個在nodejs中最著名的極簡web框架。這是一個通過時間檢驗,生產完備的庫,有不少社區實現的資源。默認狀況下使用@nestjs/platform express包。許多用戶都能很好地使用Express,無需採起任何措施便可啓用它。 |
fastify | fastify 是一個高性能和低開銷的框架,高度集中於提供最大的效率和速度。能夠在搜索引擎中瞭解它。 |
不管使用哪一個平臺,它都會公開本身的應用程序接口。分別爲NestExpressApplication
和nestFastFyApplication
npm
當您將類型傳遞給NestFactory.create()方法時,以下面的示例所示,app對象將具備專門用於該特定平臺的方法。可是,請注意,您不須要指定平臺類型(express或fastify),除非您真正想訪問底層平臺API。bootstrap
const app = await NestFactory.create<NestExpressApplication>(AppModule);
安裝過程完成後,能夠在操做系統命令提示符下運行如下命令
$ npm run start
此命令經過HTTP服務器監聽src/main.ts文件中定義的端口來啓動應用程序,應用程序運行後,打開瀏覽器並導航到http://localhost:3000/。你應該看到了hello world!