[{"data":1,"prerenderedAt":276},["ShallowReactive",2],{"term-n\u002Fnestjs":3,"related-n\u002Fnestjs":257},{"id":4,"title":5,"acronym":6,"body":7,"category":239,"description":240,"difficulty":241,"extension":242,"letter":243,"meta":244,"navigation":122,"path":245,"related":246,"seo":251,"sitemap":252,"stem":255,"subcategory":6,"__hash__":256},"terms\u002Fterms\u002Fn\u002Fnestjs.md","NestJS",null,{"type":8,"value":9,"toc":233},"minimark",[10,15,19,23,26,30,222,226,229],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"NestJS is Node.js with structure. Plain Express can get messy in large projects. NestJS forces you to organize everything into modules, controllers, and services — like Angular but for the backend. TypeScript-first, great tooling, opinionated in a good way.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"NestJS is a TypeScript-first Node.js framework inspired by Angular. It uses decorators and dependency injection to create modular, testable, scalable server-side applications. Built on top of Express (or Fastify), it enforces architectural patterns like MVC and is popular for enterprise Node.js APIs.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","@Controller('users')\nexport class UsersController {\n  constructor(private readonly usersService: UsersService) {}\n\n  @Get(':id')\n  findOne(@Param('id') id: string) {\n    return this.usersService.findOne(+id);\n  }\n}\n","typescript","",[38,39,40,69,87,117,124,144,180,210,216],"code",{"__ignoreMap":36},[41,42,45,49,53,57,60,64,66],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sMK4o","@",[41,50,52],{"class":51},"s2Zo4","Controller",[41,54,56],{"class":55},"sTEyZ","(",[41,58,59],{"class":47},"'",[41,61,63],{"class":62},"sfazB","users",[41,65,59],{"class":47},[41,67,68],{"class":55},")\n",[41,70,72,76,80,84],{"class":43,"line":71},2,[41,73,75],{"class":74},"s7zQu","export",[41,77,79],{"class":78},"spNyl"," class",[41,81,83],{"class":82},"sBMFI"," UsersController",[41,85,86],{"class":47}," {\n",[41,88,90,93,95,98,101,105,108,111,114],{"class":43,"line":89},3,[41,91,92],{"class":78},"  constructor",[41,94,56],{"class":47},[41,96,97],{"class":78},"private",[41,99,100],{"class":78}," readonly",[41,102,104],{"class":103},"sHdIc"," usersService",[41,106,107],{"class":47},":",[41,109,110],{"class":82}," UsersService",[41,112,113],{"class":47},")",[41,115,116],{"class":47}," {}\n",[41,118,120],{"class":43,"line":119},4,[41,121,123],{"emptyLinePlaceholder":122},true,"\n",[41,125,127,130,133,135,137,140,142],{"class":43,"line":126},5,[41,128,129],{"class":47},"  @",[41,131,132],{"class":51},"Get",[41,134,56],{"class":55},[41,136,59],{"class":47},[41,138,139],{"class":62},":id",[41,141,59],{"class":47},[41,143,68],{"class":55},[41,145,147,151,154,157,159,161,164,166,169,171,173,176,178],{"class":43,"line":146},6,[41,148,150],{"class":149},"swJcz","  findOne",[41,152,153],{"class":47},"(@",[41,155,156],{"class":51},"Param",[41,158,56],{"class":55},[41,160,59],{"class":47},[41,162,163],{"class":62},"id",[41,165,59],{"class":47},[41,167,168],{"class":55},") ",[41,170,163],{"class":103},[41,172,107],{"class":47},[41,174,175],{"class":82}," string",[41,177,113],{"class":47},[41,179,86],{"class":47},[41,181,183,186,189,192,195,198,200,203,205,207],{"class":43,"line":182},7,[41,184,185],{"class":74},"    return",[41,187,188],{"class":47}," this.",[41,190,191],{"class":55},"usersService",[41,193,194],{"class":47},".",[41,196,197],{"class":51},"findOne",[41,199,56],{"class":149},[41,201,202],{"class":47},"+",[41,204,163],{"class":55},[41,206,113],{"class":149},[41,208,209],{"class":47},";\n",[41,211,213],{"class":43,"line":212},8,[41,214,215],{"class":47},"  }\n",[41,217,219],{"class":43,"line":218},9,[41,220,221],{"class":47},"}\n",[11,223,225],{"id":224},"when-youll-hear-this","When You'll Hear This",[16,227,228],{},"\"NestJS forces a clean architecture for large Node apps.\" \u002F \"Use NestJS if you want TypeScript and Angular-like structure on the backend.\"",[230,231,232],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":71,"depth":71,"links":234},[235,236,237,238],{"id":13,"depth":71,"text":14},{"id":21,"depth":71,"text":22},{"id":28,"depth":71,"text":29},{"id":224,"depth":71,"text":225},"backend","NestJS is Node.js with structure. Plain Express can get messy in large projects.","intermediate","md","n",{},"\u002Fterms\u002Fn\u002Fnestjs",[247,248,249,250,52],"Node.js","Express","TypeScript","MVC",{"title":5,"description":240},{"changefreq":253,"priority":254},"weekly",0.7,"terms\u002Fn\u002Fnestjs","1MGb_G_tTgn85CrMwc4DHk054sL795UxUFhBe0aWg0M",[258,261,265,269,272],{"title":52,"path":259,"acronym":6,"category":239,"difficulty":241,"description":260},"\u002Fterms\u002Fc\u002Fcontroller","A controller is the manager who actually handles your request after it passes through security.",{"title":248,"path":262,"acronym":6,"category":239,"difficulty":263,"description":264},"\u002Fterms\u002Fe\u002Fexpress","beginner","Express is the most popular framework for building Node.js backends.",{"title":250,"path":266,"acronym":250,"category":267,"difficulty":263,"description":268},"\u002Fterms\u002Fm\u002Fmvc","architecture","MVC is like a restaurant: the Model is the kitchen (data and logic), the View is the plate of food (what the user sees), and the Controller is the waiter (...",{"title":247,"path":270,"acronym":6,"category":239,"difficulty":263,"description":271},"\u002Fterms\u002Fn\u002Fnode-js","Node.js lets you run JavaScript on the server — not just in the browser. Before Node.js, JavaScript was trapped in the browser.",{"title":249,"path":273,"acronym":6,"category":274,"difficulty":241,"description":275},"\u002Fterms\u002Ft\u002Ftypescript","frontend","TypeScript is JavaScript with a strict parent watching over it.",1776518297228]