4枚荣、Nest.js 中的模塊化設(shè)計

什么是模塊化碗脊?

模塊化是指解決一個復(fù)雜問題時自頂向下逐層把系統(tǒng)劃分成若干模塊的過程,有多種屬性橄妆,分別反映其內(nèi)部特性衙伶。

假設(shè)我們現(xiàn)在需要開發(fā)一個商城系統(tǒng)。

可以初步把它劃分為下面這樣的多個子系統(tǒng):

  • 商品管理
  • 用戶管理
  • 物流管理
  • 權(quán)限管理

等等......

用戶管理 又可以繼續(xù)細(xì)分

  • 基本信息管理
  • 會員等級管理

等等 ... ...

一個復(fù)雜的商城系統(tǒng)就可以用類似的方式拆分成不同的模塊害碾,自頂向下矢劲,逐步細(xì)化。

Nest 中的模塊化

對應(yīng)到我們的 Nest 項目中商城系統(tǒng)就是 AppModule

AppModule 就是整個系統(tǒng)的根模塊慌随,其它子模塊都掛載到這個根模塊上芬沉,形成一顆樹形結(jié)構(gòu)躺同。

目前我們的 UsersController 是直接掛載到了根模塊,更標(biāo)準(zhǔn)的做法就是我們需要新建一個 UsersModule丸逸,
讓 UsersController 掛載到 UsersModule 上蹋艺,然后把 UsersModule 掛載到 AppModule 根模塊,下面我們就來新建一個 UsersModule:

$ nest g mo users

CREATE /src/users/users.module.ts (82 bytes)
UPDATE /src/app.module.ts (798 bytes)

生成的代碼像下面這樣:

src/users/users.module.ts

import { Module } from '@nestjs/common';

@Module({})
export class UsersModule {}

我們需要把 AppModule 中對 UsersController 和 UsersService 的導(dǎo)入移植到 UsersModule 中黄刚,并把 UsersModule 導(dǎo)入到 AppModule捎谨,現(xiàn)在它們看起來像下面這樣:

src/app.module.ts

import { Module } from '@nestjs/common';
import { AppController } from 'app.controller';
import { AppService } from 'app.service';
import { UsersModule } from './users/users.module';

@Module({
  imports: [UsersModule],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule { }

src/users/users.module.ts

import { Module } from '@nestjs/common';
import { UsersController } from './users.controller';
import { UsersService } from './services/users.service';

@Module({
    controllers: [UsersController],
    providers: [UsersService],
})
export class UsersModule {}

我們在 AppModule 的 @Module 裝飾器中使用 imports 指定導(dǎo)入 UsersModule,
然后在 UsersModule 中的 @Module 裝飾中重新導(dǎo)入了 UsersController 和 UsersService憔维。

訪問 http://127.0.0.1:3000/users/33 發(fā)現(xiàn)框架依然工作的很好:

{"id":"33","name":"小明","age":18}

本篇只介紹 Nest.js 最基本的模塊化設(shè)計涛救,后面的教程將會涉及到更高級的模塊用法。

上一篇:3埋同、Nest.js 中的依賴注入與提供者
下一篇:5州叠、Nest.js 中的異常處理和AOP編程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末棵红,一起剝皮案震驚了整個濱河市凶赁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逆甜,老刑警劉巖虱肄,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異交煞,居然都是意外死亡咏窿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門素征,熙熙樓的掌柜王于貴愁眉苦臉地迎上來集嵌,“玉大人,你說我怎么就攤上這事御毅「罚” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵端蛆,是天一觀的道長凤粗。 經(jīng)常有香客問我,道長今豆,這世上最難降的妖魔是什么嫌拣? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮呆躲,結(jié)果婚禮上异逐,老公的妹妹穿的比我還像新娘。我一直安慰自己插掂,他們只是感情好灰瞻,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般箩祥。 火紅的嫁衣襯著肌膚如雪院崇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天袍祖,我揣著相機(jī)與錄音底瓣,去河邊找鬼。 笑死蕉陋,一個胖子當(dāng)著我的面吹牛捐凭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凳鬓,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼茁肠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缩举?” 一聲冷哼從身側(cè)響起垦梆,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仅孩,沒想到半個月后托猩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡辽慕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年京腥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片溅蛉。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡公浪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出船侧,到底是詐尸還是另有隱情欠气,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布勺爱,位于F島的核電站晃琳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏琐鲁。R本人自食惡果不足惜卫旱,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望围段。 院中可真熱鬧顾翼,春花似錦、人聲如沸奈泪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拜姿,卻和暖如春烙样,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蕊肥。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工谒获, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人壁却。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓批狱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親展东。 傳聞我的和親對象是個殘疾皇子赔硫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 模塊通常是指編程語言所提供的代碼組織機(jī)制,利用此機(jī)制可將程序拆解為獨立且通用的代碼單元盐肃。所謂模塊化主要是解決代碼分...
    一個敲代碼的前端妹子閱讀 1,966評論 8 23
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,777評論 25 707
  • 在我年紀(jì)小的時候爪膊,至少在我年紀(jì)比現(xiàn)在小的時候,總是愛和好的玩伴坐在一起恼蓬,吃在一起惊完,學(xué)在一起僵芹,到了現(xiàn)在处硬,習(xí)慣了一個人...
    dare且聽風(fēng)吟閱讀 420評論 1 2
  • 在我們工作中“作戰(zhàn)指揮室”也就是我們開會交接的地方,每個月進(jìn)行幾次兩員總結(jié)或者有什么好的方法趕銷售等都是在作戰(zhàn)指揮...
    Ding欣欣閱讀 174評論 0 0
  • 無暇告別 有些事情如果精心認(rèn)真拇派,結(jié)果總是很喜出望外荷辕,酸菜在缸里呆上一個半月,撈出來時候樣子樸實干凈件豌,吃起來又酸又脆...
    小福吼吼閱讀 208評論 0 3