nest.js 初探

最近接觸了 nestjs 肘习,發(fā)現(xiàn)這個項目也用到依賴注入染服。
和公司現(xiàn)在運行的老項目很像扑庞。

公司的老項目

主要由 zazeninjector + koa + typeorm 組成

通過裝飾器 autoinject 進行裝飾

// @autoinject(name=account_service)
export function account_service(
  u:IGlobal.Util,
) : IAccount.AccountService {
}

比如 在 account_facade 用到获黔,account_service:IAccount.AccountService 則直接作為 account_facade 這個方法的參數(shù)即可

// @autoinject(name=account_facade)
export function account_facade(
    u:IGlobal.Util,
    user_token_service:IUserToken.UserTokenService,
    account_service:IAccount.AccountService,
    platform_account_core_service:IPlatformAccount.CoreService,
) : IAccount.Facade {}

熟悉 java 的人看起來列荔,會感覺就像 spring boot 那一套,但并不是完全像

nestjs

相比公司老項目肾请,nestjs 相對更為智能留搔,創(chuàng)建新的模塊也更為方便些。

初始化 & 運行

初始化新項目

nest new  project_name

會出現(xiàn)如下文件及選擇

CREATE nest-demo/.eslintrc.js (631 bytes)
CREATE nest-demo/.prettierrc (51 bytes)
CREATE nest-demo/README.md (3339 bytes)
CREATE nest-demo/nest-cli.json (64 bytes)
CREATE nest-demo/package.json (1965 bytes)
CREATE nest-demo/tsconfig.build.json (97 bytes)
CREATE nest-demo/tsconfig.json (546 bytes)
CREATE nest-demo/src/app.controller.spec.ts (617 bytes)
CREATE nest-demo/src/app.controller.ts (274 bytes)
CREATE nest-demo/src/app.module.ts (249 bytes)
CREATE nest-demo/src/app.service.ts (142 bytes)
CREATE nest-demo/src/main.ts (208 bytes)
CREATE nest-demo/test/app.e2e-spec.ts (630 bytes)
CREATE nest-demo/test/jest-e2e.json (183 bytes)

? Which package manager would you ??  to use? (Use arrow keys)
? npm
  yarn
  pnpm

包管理工具具體用哪個就看個人習(xí)慣了

啟動項目

?  codemao cd nest-demo
?  nest-demo git:(master) ? yarn run start
yarn run v1.22.10

訪問

http://localhost:3000/ 會出現(xiàn) Hello World!

nest 模塊初始目錄

image.png

生成的代碼

  • app.controller.ts
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  getHello(): string {
    return this.appService.getHello();
  }
}
  • app.service.ts
import { Injectable } from '@nestjs/common';

@Injectable()
export class AppService {
  getHello(): string {
    return 'Hello World!';
  }
}
  • 模塊裝載
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}
  • 啟動文件
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  await app.listen(3000);
}
bootstrap();

nestjs 還提供了很多功能铛铁。會一點點了解隔显。雖然不大可能用于公司現(xiàn)在的項目了。但是后續(xù)了解nestjs 的實現(xiàn)饵逐,玩一玩還是可以的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末括眠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子倍权,更是在濱河造成了極大的恐慌掷豺,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薄声,死亡現(xiàn)場離奇詭異当船,居然都是意外死亡,警方通過查閱死者的電腦和手機默辨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門德频,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缩幸,你說我怎么就攤上這事壹置。” “怎么了表谊?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵钞护,是天一觀的道長。 經(jīng)常有香客問我爆办,道長难咕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮步藕,結(jié)果婚禮上惦界,老公的妹妹穿的比我還像新娘挑格。我一直安慰自己咙冗,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布漂彤。 她就那樣靜靜地躺著雾消,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挫望。 梳的紋絲不亂的頭發(fā)上立润,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天,我揣著相機與錄音媳板,去河邊找鬼桑腮。 笑死,一個胖子當(dāng)著我的面吹牛蛉幸,可吹牛的內(nèi)容都是我干的破讨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼奕纫,長吁一口氣:“原來是場噩夢啊……” “哼提陶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起匹层,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤隙笆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后升筏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撑柔,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年您访,在試婚紗的時候發(fā)現(xiàn)自己被綠了铅忿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡洋只,死狀恐怖辆沦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情识虚,我是刑警寧澤肢扯,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站担锤,受9級特大地震影響蔚晨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一铭腕、第九天 我趴在偏房一處隱蔽的房頂上張望银择。 院中可真熱鬧,春花似錦累舷、人聲如沸浩考。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽析孽。三九已至,卻和暖如春只怎,著一層夾襖步出監(jiān)牢的瞬間袜瞬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工身堡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留邓尤,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓贴谎,卻偏偏與公主長得像汞扎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赴精,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356