通過NodeJs系列課程和Typescript系列課程,終於開始了激動人心的NestJs學習之旅。javascript
歡迎持續關注NestJs之旅
系列文章html
Nest(或NestJS)是一個用於構建高效,可擴展的Node.js服務器端應用程序的框架。它使用漸進式JavaScript,內置並徹底支持TypeScript(但仍然容許開發人員使用純JavaScript編寫代碼)並結合了OOP(面向對象編程),FP(功能編程)和FRP(功能反應編程)的元素。java
import { Controller, Get } from '@nestjs/common'; @Controller('cats') export class CatsController { @Get() findAll(): string { return 'This action returns all cats'; } }
熟悉Java的同窗應該有似曾相識的感受,SpringBoot中大量使用註解來簡化開發。如今,使用基於ES6裝飾器構建的NestJs框架,你也能夠作到!node
先說說優勢吧:typescript
固然,"缺點"也是有點的,不過熟練以後這些都不是缺點:express
使用NestJs的命令行工具,能夠簡化項目的建立以及項目文件的建立。npm
npm install -g @nestjs/cli
安裝命令行工具nest new 項目名稱
初始化項目初始化完畢後能夠看到一個完整的項目結果,目錄以下(忽略node_modules):編程
├── README.md 自述文件 ├── nest-cli.json NestJs項目配置 ├── package.json npm文件 ├── src 項目源碼 │ ├── app.controller.spec.ts 控制器測試文件 │ ├── app.controller.ts 控制器類 │ ├── app.module.ts 模塊類 │ ├── app.service.ts 服務類 │ └── main.ts 項目入口文件 ├── test 測試目錄 │ ├── app.e2e-spec.ts 應用e2e測試 │ └── jest-e2e.json jest e2e測試配置 ├── tsconfig.build.json 生產環境Typescript所用 ├── tsconfig.json 開發環境Typescript配置 ├── tslint.json tslint配置 └── yarn.lock yarn鎖文件
NestJs有幾大類文件是主要的是下面幾種,其餘類型的文件在後續課程會講解;json
使用npm run start
來運行項目。終端輸出以下:瀏覽器
[Nest] 2986 - 08/19/2019, 10:29 AM [NestFactory] Starting Nest application... [Nest] 2986 - 08/19/2019, 10:29 AM [InstanceLoader] AppModule dependencies initialized +22ms [Nest] 2986 - 08/19/2019, 10:29 AM [RoutesResolver] AppController {/}: +12ms [Nest] 2986 - 08/19/2019, 10:29 AM [RouterExplorer] Mapped {/, GET} route +9ms [Nest] 2986 - 08/19/2019, 10:29 AM [NestApplication] Nest application successfully started +6ms
通常來講,看到successfully
就能夠認爲啓動成功了。啓動失敗的話能夠根據錯誤提示進行處理,比較多的狀況多是端口占用致使的錯誤。
打開瀏覽器訪問http://localhost:3000
便可看到輸出Hello World!
。
下一期將介紹Controller,歡迎持續關注!