์ง๊ธ ์ด๋ ฅ์๋ ์ฐ๊ณ ์๋ฃ๊ตฌ์กฐ๋ ๊ณต๋ถํด์ผํ๋๋ฐ ์ ๐ณ Docker ์ ์ด์ด์ ๐ฆ NestJs ๋ ํ๋ ??
Express ์ ๋ํด ๊ณต๋ถํ๋ค๊ฐ Express ์ ๋ํ ๋จ์ ์ ๋ณด๊ฒ ๋๋ฉด์ NestJs ๋ ๊ผญ ํ๋ฒ ํด๋ด์ผ๊ฒ ๋ค ์๊ฐ์ํด์ ์ด๋ฒ์ ์ค์ฒํ๊ฒ ๋๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ์ ๐ฆ NestJs ๋ ์ด๋ฐ ๋ฌธ์ ๋ค์ ๊ฐ์ ํ์๋ค.
๋ฌผ๋ก ์ ํ์ด ์๊ฒผ์ง๋ง ํต์ผ์ฑ์ด ์๊ฒผ๊ธฐ์ ์๋นํ ์ข๋ค๊ณ ์๊ฐํ๋ค.
์ฐ์ ๐ฆ NestJs ๊ณต์๋ฌธ์๊ฐ ์ ๋ง ์ฐธ ์ ๋ฆฌ๋ฅผ ์ ํด์ฃผ์๋ค.
์ฃผ์ : https://docs.nestjs.com/
npm i -g @nestjs/cli
// ๋งฅ๋ถ ์ค์น์ฉ
sudo npm i -g @nestjs/cli
nest new project-name(์ฌ๊ธฐ์๋ ์๊ธฐ๊ฐ ํ๊ณ ์ถ์ ์ด๋ฆ์ผ๋ก)
๊ทธ ๋ค์ ๋๋ npm ์ผ๋ก ์ค์นํ์๋ค.
npm run start:dev
๋ฅผ ํ๊ฒ ๋๋ฉด
๋ฐ๋ก ์คํ์ด ๋๊ณ ๋ ์๋ฌด๊ฒ๋ ์์ง ์ํ๋๋ฐ ๋ฐ๋ก Get์ด ๋ถ๋ฌ์์ง๋ค....
์ฌ๊ธฐ ์ฌ๊ธฐ main.ts ๊ฐ ์ express ๊ธฐ์ค์ผ๋ก๋ app.js ์ญํ ์ ํ๋ค๊ณ ๋ณด๋ฉด ๋ ๊ฑฐ๊ฐ์์ฉ ~ ์บฌ ์ ๊ธฐ์ ๋ฐ๋ก 3000๋ฒ์ด ์ผ์ง์ฅฌ ?
5๋ฒ์งธ ์ค์ AppModule ๋ณด์ด์ฃต? ์ ๊ธฐ๊ฐ express ๋ก๋ route ๊ธฐ๋ฅ์ ํ๋ค๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค. ํ๋ฒ ํ๊ณ ๋ค์ด๊ฐ๋ณด์ฃ !
3 ๋ ์ด์ด๋ ํ์ ๋ถ๋ค์ ๋์ถฉ ์ด๋ค ์ญํ ์ ํ๋์ง ๊ฐ์ด ์ค์ค๊ฑฐ์์ ! ๋ค์ด๊ฐ๊ฒ๋๋ฉด ! ์ฌ๊ธฐ๋ express ์ ๋ผ์ฐํฐ ๊ฐ์ ์กด์ฌ๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ ๊ฑฐ ๊ฐ์์!
๊ทผ๋ฐ @ ์ด๊ฑฐ ๋ญ๋ ์ง์ง ?
@ <- ๋ฐ์ฝ๋ ์ดํฐ ๋ผ๊ณ ๋งํฉ๋๋น ๐
๋ฐ์ฝ๋ ์ดํฐ : ํด๋์ค์ ํจ์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ด์ !
๋์ ์ค๊ฐ์ ๊ณต๋ฐฑ์ด ์์ผ๋ฉด ์๋๊ณ ๋ฐ๋ก ๋ฐ์ ์์ฑํด์ค์ผ ํฉ๋๋ค !
์ ๊ทธ๋์ @Get() ์ express ๋ก ๋งํ๋ฉด router.get() ์ด๋ผ๊ณ ๋งํ ์ ์์๊ฑฐ ๊ฐ์์ !
๋๋ ์๋ฌด๊ฒ๋ ์ํ๋๋ฐ ๊ทธ๋ฅ ๋ง๋ค์ด์ง ํจ์์ Hello World๊ฐ ๋์ด์๋ค๋... ์ฌ๋ํด NesJs
๊ทธ๋ผ ์ด๋ฒ์๋ url ๊ฒฝ๋ก๋ฅผ ์ฃผ๊ณ ๋ค๋ฅธ ๋ฌธ์ฅ์ ์ ์ด๋ณด์
// app.controller.ts
@Get("test")
getTest(): string {
return this.appService.getTest();
}
// app.service.ts
getTest(): string {
return "์ต์๋ฎ ๋ฒจ๋ก๊ทธ ๋ค์คํธ ์ฌ๋ํด(ํํธ)(์ฐก๊ธ)"
}
์ด๋ฐ์์ผ๋ก CRUD๋ฅผ ์์ฑํ ์ ์๋ค
์ ์ค๋ ๊ฐ๋ณ๊ฒ NestJs ์ ๋ํด ์ดํด ๋ณด์๋ค.
๋คํํ ์์ง๊น์ง๋ ์์ฒญ ์ด๋ ต์ง๋ ์์๋ค. 3 ๋ ์ด์ด๋๋๋ ๋น์ทํ๊ตฌ ...
๋ค์์๊ฐ์๋ GraphQL ํตํด CRUD ๋ฅผ ๋ง๋ค์ด ๋ณผ๊ฑฐ์์ฉ
์ฌ๋ฏธ์์์ผ๋๊น ๋ค์ํธ๋ ๋ณด๋ฌ์์ ^___^ ๊ทธ๋ผ ์๋ฝ