nest入門

1.什么事nest.js

個(gè)人覺得在使用nest.js之前還是需要了解下什么是nest.js,才能在后邊有個(gè)指導(dǎo)思想荧关,幫助我們更快的學(xué)習(xí)市袖。

nest(Nestjs)是基于express的HTP服務(wù)器框架上古戴,還可以通過配置使用fastify的構(gòu)建田弥,完全支持TypeScript, 結(jié)合OOP(面向?qū)ο螅? FP(函數(shù)式編程) 和 FRP(函數(shù)響應(yīng)式編程)逞带。

2.nest安裝

npm  i  -g  @nest/cli  (現(xiàn)在應(yīng)該都知道什么是npm了吧)
nest new project-name(項(xiàng)目名稱)    (這里需要說明就是框架也提供了yarn的方式饮睬,使用那種根據(jù)自己的愛好來就好)

下面就是nest項(xiàng)目的目錄

3.nest執(zhí)行

cd project-name
npm install
npm run start:dev(測(cè)試)
npm run start:debug(開發(fā))
npm run start:prod(生產(chǎn))
npm run start(啟動(dòng))

以上就是nest啟動(dòng)的基本命令租谈,啟動(dòng)成功,訪問3000端口捆愁,即可看到 “hello world”

這樣一個(gè)nest的基礎(chǔ)項(xiàng)目就創(chuàng)建完成了割去,是不是很快呢。昼丑。哈哈

4.項(xiàng)目基本構(gòu)成

nest生成的都在src這個(gè)目錄下呻逆,直接上圖吧
main   為入口文件,創(chuàng)建app實(shí)例
module   創(chuàng)建依賴關(guān)系,完成對(duì)應(yīng)的Controller, Provider的加載菩帝,完成應(yīng)用的啟動(dòng)
service   定義一個(gè)Provider咖城,服務(wù)的提供者
controller   控制器憔足,定義路由和數(shù)據(jù)的返回關(guān)系 

以上就是個(gè)完整的項(xiàng)目了,但是這和開發(fā)應(yīng)用還有一定的差距酒繁。哪又如何開發(fā)我們對(duì)應(yīng)的應(yīng)用呢滓彰??
先學(xué)習(xí)幾個(gè)nest幾個(gè)簡(jiǎn)單的創(chuàng)建應(yīng)用目錄的命令吧

nest g co/controller name     創(chuàng)建控制器
nest g mo/module   name     創(chuàng)建模塊
nest g s/service  name         創(chuàng)建服務(wù)模塊
nest g lib/library  name.        創(chuàng)建新庫(kù)

使用以上這幾個(gè)命令就能愉快的創(chuàng)建自己的文件了州袒,但是新的問題又來了揭绑,如何使用我們創(chuàng)建的文件呢?郎哭?我們從controller -> module -> service 這樣的順序?qū)崿F(xiàn)個(gè)簡(jiǎn)單的接口他匪。

nest g co user
nest g s user

執(zhí)行命令實(shí)現(xiàn)user的controller和service, 使用命令框架會(huì)自動(dòng)載入文件,命令結(jié)束后就能看到src下多了個(gè)user的目錄了,包含了controller和serivce。
如何使用模塊呢夸研?邦蜜?

nest g mo user

模塊是為了更好的聚合我們的功能,將同一個(gè)應(yīng)用程序移動(dòng)到一個(gè)功能模塊下亥至。再創(chuàng)建控制器和服務(wù)service悼沈。控制器和服務(wù)就能直接被注入到模塊姐扮;

import { Module } from '@nestjs/common';
import { UserController } from './user.controller';
import { UserService } from './user.service';

@Module({
  controllers: [UserController],
  providers: [UserService]
})
export class UserModule {}

在nest的模塊中有@module() 的裝飾器描述對(duì)象的屬性:

屬性 解釋
provoders nest注入器實(shí)例化提供者絮供,至少在整合模塊內(nèi)共享
controllers 控制器
imports 導(dǎo)入當(dāng)前模塊需要服務(wù)的提供者的模塊
exports 到處模塊,對(duì)其他模塊提供服務(wù)

然后就可以在控制器和服務(wù)中創(chuàng)建應(yīng)用了茶敏。

//controller 
import { Controller, Get } from '@nestjs/common';
import { UserService } from './user.service';

@Controller('user')
export class UserController {

    constructor(private readonly UserService: UserService){}

    @Get('list')
    userList(): String {
        return this.UserService.userList();
    }

}

//service
import { Injectable } from '@nestjs/common';

@Injectable()
export class UserService {

    userList(){
        return 'userlist';
    }
}

訪問 localhost:3000/user/list 就能看到結(jié)果壤靶,以上就是創(chuàng)建簡(jiǎn)單應(yīng)用的步驟,這也僅僅是簡(jiǎn)單的入門惊搏,下次再學(xué)習(xí)更深入的應(yīng)用贮乳。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市恬惯,隨后出現(xiàn)的幾起案子向拆,更是在濱河造成了極大的恐慌,老刑警劉巖宿崭,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亲铡,死亡現(xiàn)場(chǎng)離奇詭異才写,居然都是意外死亡葡兑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門赞草,熙熙樓的掌柜王于貴愁眉苦臉地迎上來讹堤,“玉大人,你說我怎么就攤上這事厨疙≈奘兀” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)梗醇。 經(jīng)常有香客問我知允,道長(zhǎng),這世上最難降的妖魔是什么叙谨? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任温鸽,我火速辦了婚禮,結(jié)果婚禮上手负,老公的妹妹穿的比我還像新娘涤垫。我一直安慰自己,他們只是感情好竟终,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布蝠猬。 她就那樣靜靜地躺著,像睡著了一般统捶。 火紅的嫁衣襯著肌膚如雪榆芦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天喘鸟,我揣著相機(jī)與錄音歧杏,去河邊找鬼。 笑死迷守,一個(gè)胖子當(dāng)著我的面吹牛犬绒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播兑凿,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼凯力,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了礼华?” 一聲冷哼從身側(cè)響起咐鹤,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎圣絮,沒想到半個(gè)月后祈惶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扮匠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年捧请,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棒搜。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疹蛉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出力麸,到底是詐尸還是另有隱情可款,我是刑警寧澤育韩,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站闺鲸,受9級(jí)特大地震影響筋讨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜摸恍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一版仔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧误墓,春花似錦蛮粮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至欣范,卻和暖如春变泄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背恼琼。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工妨蛹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晴竞。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓蛙卤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親噩死。 傳聞我的和親對(duì)象是個(gè)殘疾皇子颤难,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

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