初探 Nest.js

Nest.js 是什麼?

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

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

Nest.js 解決了什麼問題?

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

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

流行趨勢

npm下載量

star趨勢

創建新項目

$ npm i -g @nestjs/cli
$ nest new MyNest
複製代碼

核心文件

將建立 project 目錄, 安裝node模塊和一些其餘樣板文件,並將建立一個 src 目錄,目錄中包含幾個核心文件。編程

src
├── app.controller.ts // 帶有單個路由的基本控制器示例。
├── app.module.ts // 應用程序的根模塊。
└── main.ts // 應用程序入口文件。它使用 NestFactory 用來建立 Nest 應用實例。
複製代碼

main.ts 包含一個異步函數,它負責引導咱們的應用程序:bootstrap

import { NestFactory } from '@nestjs/core';
import { ApplicationModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(ApplicationModule);
  await app.listen(3000);
}
bootstrap();
複製代碼

要建立一個 Nest 應用程序,咱們使用了 NestFactory 核心類。NestFactory 暴露了一些靜態方法用於建立應用實例。create() 方法返回一個實現 INestApplication 接口的對象,並提供一組可用的方法。在上面的 main.ts 示例中,咱們只是啓動了 HTTP 服務器,它容許應用程序等待入站 HTTP 請求。後端

運行應用程序

安裝過程完成後,您能夠在系統命令提示符下運行如下命令,以啓動應用程序監聽入站 HTTP 請求:瀏覽器

$ npm run start
複製代碼

此命令在 src 目錄中的 main.ts 文件中定義的端口上啓動 HTTP 服務器。在應用程序運行時, 打開瀏覽器並訪問 http://localhost:3000/。 你應該看到 Hello world! 信息。bash

相關文章
相關標籤/搜索