Moduler, controllers och tjänster
Fördjupa dig i kärnkomponenterna: hur moduler organiserar kod, controllers hanterar anrop och tjänster kapslar in affärslogik.
Moduler, controllers och tjänster är en gratis lektion i NestJS: backend-API:er för företag på CoddyKit. Detta är lektion 3 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för NestJS: backend-API:er för företag, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i NestJS: backend-API:er för företag innehåller totalt 3 lektioner.
NestJS byggstenar
En NestJS-app byggs av tre centrala byggstenar – Modules, Controllers och Services – som organiserar koden, hanterar förfrågningar och innehåller logik.
Organisera med moduler
En Module (en klass med @Module()) är en funktionsgrupp: den samlar relaterade controllers och services och definierar deras beroendeomfattning.
Er första NestJS-modul
Den här AppModule visar dekoratören @Module() som deklarerar en controller och en service och gör dem tillgängliga inom dess omfattning.
import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [], // Other modules this module needs
controllers: [AppController], // Controllers handled by this module
providers: [AppService], // Services (providers) available in this module
exports: [], // Providers to export for other modules
})
export class AppModule {}Controllers: hantera förfrågningar
Controllers (klasser med @Controller()) hanterar inkommande HTTP-förfrågningar och returnerar svar, medan den mer omfattande logiken delegeras till services.
En enkel API-slutpunkt
Den här AppController använder @Get() för att hantera GET-förfrågningar till / och anropar AppService för själva meddelandet.
import { Controller, Get } from '@nestjs/common';
import { AppService } from './app.service';
@Controller() // Optional path prefix, e.g., '@Controller('users')'
export class AppController {
constructor(private readonly appService: AppService) {}
@Get() // Handles GET requests to '/' (or '/users' if prefix exists)
getHello(): string {
return this.appService.getHello();
}
}Services: navet för affärslogik
Services (providers märkta med @Injectable()) innehåller er affärslogik och era databasanrop – återanvändbara enheter som injiceras i controllers för att hålla dem enkla.
Er logik i en service
Den här AppService tillhandahåller en metod som controllern kan anropa. Dekoratören @Injectable() gör att NestJS kan hantera den via DI.
import { Injectable } from '@nestjs/common';
@Injectable()
export class AppService {
getHello(): string {
return 'Hello from NestJS!';
}
}Knyta ihop delarna
Dependency Injection kopplar ihop delarna: deklarera delarna i en modul, be om servicen i controllerns konstruktor och låt Nest injicera den.
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
console.log('NestJS application is running on http://localhost:3000');
}
bootstrap();
// When you visit http://localhost:3000,
// AppController's getHello() is called,
// which in turn calls AppService's getHello().Kontroll av komponenternas roller
Ni har lärt er om Modules, Controllers och Services. Hur väl förstår ni deras huvudsakliga roller?
Sammanfattning av kärnkomponenterna
Ni har lärt er om kärntrion: Modules organiserar, Controllers hanterar förfrågningar och Services innehåller logik – allt sammankopplat genom DI. Härnäst: TypeORM!
Lär dig TypeScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 20
- Lektioner
- 76
Vanliga frågor
Är lektionen ”Moduler, controllers och tjänster” gratis?
Ja – hela texten till ”Moduler, controllers och tjänster” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i NestJS: backend-API:er för företag, kan Ni uppgradera till CoddyKit PRO. Kursen i NestJS: backend-API:er för företag innehåller totalt 3 lektioner.
Vad lär jag mig i ”Moduler, controllers och tjänster”?
Fördjupa dig i kärnkomponenterna: hur moduler organiserar kod, controllers hanterar anrop och tjänster kapslar in affärslogik. Ni övar på NestJS: backend-API:er för företag med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig NestJS: backend-API:er för företag?
Du behöver inga förkunskaper. Utbildningen i NestJS: backend-API:er för företag på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.
Hur lång tid tar lektionen ”Moduler, controllers och tjänster”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här NestJS: backend-API:er för företag-lektionen?
Ja. Varje NestJS: backend-API:er för företag-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till NestJS-ramverket
- Projektstruktur och CLI
- Moduler, controllers och tjänster