Κοινή χρήση τεχνολογίας

Μια εισαγωγή στους [NestJs] Providers σε ένα άρθρο

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Nest Learning Series

✈️Ξεκινήστε με το [NestJS] σε ένα άρθρο
✈️Εισαγωγή στους ελεγκτές [NestJs] σε ένα άρθρο

🚩 前言

Στον κόσμο της NestJS, η κατανόηση των "Παρόχων" είναι το κλειδί για τη δημιουργία ισχυρών και διατηρήσιμων υπηρεσιών υποστήριξης. Το NestJS, ως σύγχρονο πλαίσιο για το Node.js, υιοθετεί ορισμένες βασικές έννοιες του Angular, όπως το Dependency Injection (DI), και τις εφαρμόζει στην ανάπτυξη από την πλευρά του διακομιστή. Αυτό το άρθρο θα εμβαθύνει στον μηχανισμό Providers στο NestJS, θα αναλύσει πώς λειτουργεί και πώς να τους χρησιμοποιήσετε για τη βελτιστοποίηση της εφαρμογής σας.

🚩什么是 Providers

Στο NestJS, ένας πάροχος είναι κάθε αντικείμενο που μπορεί να διαχειριστεί και να εγχυθεί από το κοντέινερ DI. Μπορεί να είναι μια κλάση, μια τιμή, μια εργοστασιακή συνάρτηση ή μια αφηρημένη διεπαφή. Ο κύριος ρόλος των Παρόχων είναι να παρέχουν υπηρεσίες, αξίες ή εργοστάσια, τα οποία μπορούν να κοινοποιηθούν και να επαναχρησιμοποιηθούν από άλλες μονάδες ή εξαρτήματα.

Έμαθα για το Nest's Controller στο προηγούμενο άρθρο Αυτό το άρθρο εισάγει ένα άλλο σημαντικό σημείο γνώσεων: οι πάροχοι μπορούν να γίνουν κατανοητοί ως το τμήμα του ελεγκτή που παρέχει υπηρεσίες.

🚩如何创建一个 service

Nest g νέα υπηρεσία

Αυτή είναι μια απλή υπηρεσία που επί του παρόντος έχει δύο λειτουργίες: η μία είναι να επιστρέψει μια λίστα με όλες τις ειδήσεις και η άλλη να δημιουργήσει ένα κομμάτι δεδομένων
Εισαγάγετε την περιγραφή της εικόνας εδώ
Εισαγάγετε την περιγραφή της εικόνας εδώ

🚩service如何为controller提供服务

ένεση εξάρτησης

Το πρώτο βήμα: εισάγετε την αντίστοιχη υπηρεσία και τον αντίστοιχο τύπο διεπαφής στον ελεγκτή

news.controller.ts

import { NewsService } from './news.service';
import { News } from './interfaces/news.interface';
  • 1
  • 2

Βήμα 2: Εισαγωγή μέσω του κατασκευαστή (private newsService: NewsService) {}

@Controller('news')
export class NewsController {
	constructor(private  newsService: NewsService) {}
	.....
}
  • 1
  • 2
  • 3
  • 4
  • 5

Βήμα 3: Χρησιμοποιήστε το στον αντίστοιχο διακοσμητή αιτήματος

@Controller('news')
export class NewsController {
	constructor(private  newsService: NewsService) {}
 	@Get('/page')
	async getNewsPageList(@Query() query: string): Promise<News[]> {
        console.log(query);
        return this.newsService.getNewsPageList();
    }

   @Post('/create')
   async  createNews(@Body() createNewsDto: CreateNewsDto) {
        console.log(createNewsDto,'添加参数');
        return this.newsService.createNews(createNewsDto);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

Βήμα 4: Εγγραφείτε στο app.module

import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { NewsController } from './news/news.controller';
import { NewsService } from './news/news.service';

@Module({
  imports: [],
  controllers: [AppController, NewsController],
  providers: [AppService,NewsService],
})
export class AppModule {}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

συμπέρασμα

Το Mastering Providers στο NestJS σημαίνει ότι μπορείτε να δημιουργήσετε καλύτερα αρθρωτές και επεκτάσιμες υπηρεσίες υποστήριξης. Χρησιμοποιώντας σωστά τους Παρόχους, μπορείτε να διαχειριστείτε εύκολα τις εξαρτήσεις και να βελτιώσετε την αναγνωσιμότητα και τη συντηρησιμότητα του κώδικα. Είτε δημιουργείτε μια σύνθετη αρχιτεκτονική microservice είτε μια απλή υπηρεσία API, ο μηχανισμός DI της NestJS θα είναι ένα απαραίτητο εργαλείο για εσάς.