Application context
Application context
Nest ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์ดํธํ๋ ๋ฐฉ๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ์น์ฑ, ๋ง์ดํฌ๋ก ์๋น์ค ๋๋ Nest ์์ฉ ํ๋ก๊ทธ๋จ ์ปจํ ์คํธ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. Nest ์ปจํ ์คํธ๋ ๋ชจ๋ ์ธ์คํด์คํ ๋ ํด๋์ค๋ฅผ ๋ณด์ ํ๋ Nest ์ปจํ ์ด๋ ์ฃผ์์ ๋ํผ์ ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ธ์จ ๋ชจ๋ ๋ด์์ ๊ธฐ์กด ์ธ์คํด์ค๋ฅผ ์ง์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ CRON ์์ ์ ํฌํจํ์ฌ ์ด๋์๋ Nest ํ๋ ์ ์ํฌ๋ฅผ ํ์ฉํ ์ ์์ผ๋ฉฐ ๊ทธ ์์ CLI๋ฅผ ๊ตฌ์ถํ ์๋ ์์ต๋๋ค.
Getting started
Nest ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์คํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ค์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค.
@@filename()
async function bootstrap() {
const app = await NestFactory.createApplicationContext(ApplicationModule);
// application logic...
}
bootstrap();
์ดํ Nest๋ฅผ ์ฌ์ฉํ๋ฉด Nest ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฑ๋ก๋ ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ TasksModule
์ TasksService
๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ์์ํด ๋ด
์๋ค. ์ด ํด๋์ค๋ CRON ์์
๋ด์์ ํธ์ถํ๋ ค๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ์๋ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
@@filename()
const app = await NestFactory.create(ApplicationModule);
const tasksService = app.get(TasksService);
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์ ๋ถ์
๋๋ค. TasksService
์ธ์คํด์ค๋ฅผ ์ก๊ธฐ ์ํด์๋ get()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ ์ฒด ๋ชจ๋ ํธ๋ฆฌ๋ฅผ ๊ฑฐ์น์ง ์์๋ ๋๋๋ฐ, get()
๋ฉ์๋๋ ๋ฑ๋ก๋ ๊ฐ ๋ชจ๋์์ ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ๊ฒ์ํ๋ query์ ๊ฐ์ ์ญํ ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์๊ฒฉํ ์ปจํ
์คํธ ๊ฒ์ฌ๋ฅผ ์ ํธํ๋ ๊ฒฝ์ฐ์๋ ํญ์ get()
๋ฉ์๋์ ๋ ๋ฒ์งธ ์ธ์๋ก ์ ๋ฌํด์ผํ๋ strict: true
์ต์
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ์ ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ ํํ ์ปจํ
์คํธ์์ ํน์ ์ธ์คํด์ค๋ฅผ ์ ํํ๋ ค๋ฉด ๋ชจ๋ ๋ชจ๋์ ๊ฑฐ์ณ์ผํฉ๋๋ค.
@@filename()
const app = await NestFactory.create(ApplicationModule);
const tasksService = app.select(TasksModule).get(TasksService, { strict: true });
get()
์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์คํธ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ปจํธ๋กค๋ฌ ๋๋ ์ ๊ณต์ (๊ฐ๋, ํํฐ ๋ฑ ํฌํจ)์ ์ธ์คํด์ค๋ฅผ ๊ฒ์ํฉ๋๋ค.
select()
์๋ฅผ ๋ค์ด, ๋ชจ๋ ๊ทธ๋ํ๋ฅผ ํ์ํ์ฌ ์ ํํ ๋ชจ๋์์ ํน์ ์ธ์คํด์ค๋ฅผ ๊ฐ์ ธ์ต๋๋ค (์๊ฒฉํ ๋ชจ๋์ ํจ๊ป ์ฌ์ฉ).
info ํํธ ์๊ฒฉํ์ง ์์ ๋ชจ๋์์๋ ๋ฃจํธ ๋ชจ๋์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋์ ์ ํํ๋ ค๋ฉด ์ ์ฒด ๋ชจ๋ ํธ๋ฆฌ๋ฅผ ๋จ๊ณ๋ณ๋ก ์ํํด์ผํฉ๋๋ค.
Last updated
Was this helpful?