Hoe bestanden in Node.js verwijderen met behulp van 'fs.unlink'?

Hoe Bestanden In Node Js Verwijderen Met Behulp Van Fs Unlink



Het bestandssysteem “ fs ”-module biedt verschillende methoden waarmee de basisbewerkingen zoals lezen, archiveren, verwijderen, toevoegen en andere gerelateerde bewerkingen eenvoudig kunnen worden uitgevoerd. De verwijderingsbewerking wordt echter meestal dagelijks door de ontwikkelaars uitgevoerd. Deze verwijderingsbewerking kan rechtstreeks worden uitgevoerd met behulp van de GUI-interface of door gebruik te maken van de “ fs ' modulemethode genaamd ' ontkoppelen() ”.

In deze handleiding wordt de procedure uitgelegd voor het verwijderen van bestanden in Node.js met behulp van “fs.unlink()” door de onderstaande secties uit te leggen:

Een bestand verwijderen met behulp van de “fs.unlink()”-methode

De ' fs.unlink() ” is een synchrone of blokkerende methode omdat deze de uitvoering van alle andere processen stopt totdat het opgegeven bestand volledig wordt verwijderd. Dit ' fs.unlink() 'methode kan ook worden gebruikt om de toegewezen ' symbolisch '-koppelingen die verwijzen naar het beoogde bestandssysteem.







Syntaxis



De ' fs.unlink() De syntaxis van de methode wordt hieronder weergegeven:



fsObj. ontkoppelen ( bestandspad, callbackFunc )

In de bovenstaande syntaxis:





  • De ' fsObj ' is de variabele die fungeert als het object van een ' fs ”module.
  • De ' bestandspad ” is het pad van het bestand dat zich in de projectmap bevindt en dat moet worden verwijderd.
  • De ' terugbellenFunc ” is de vereiste pijlfunctie die helpt bij het weergeven van de resultaatmeldingen of fouten die tijdens de verwerking zijn ontstaan.

Laten we een paar voorbeelden bekijken voor de praktische implementatie van de “fs.unlink()”-methode.

Voorbeeld 1: Gebruik van de “fs.unlink()”-methode om een ​​bestand te verwijderen

In dit voorbeeld wordt een willekeurig projectbestand verwijderd of verwijderd uit een bestand uit de projectmap met behulp van de “ fs.unlink() methode. De praktische implementatie ervan wordt getoond in het onderstaande codeblok:



was deleteFile = vereisen ( 'fs' ) ;

Verwijder bestand. ontkoppelen ( 'linuxhintbestand.txt' , functie ( fout ) {

als ( fout ) gooien fout ;

troosten. loggen ( 'De bewerking voor het verwijderen van bestanden is met succes uitgevoerd!' ) ;

} ) ;

troosten. loggen ( 'De verwijderingsbewerking is beëindigd!' ) ;

In het bovenstaande codeblok:

  • Eerst de ' fs ' module is geïmporteerd en het object ervan is opgeslagen in een nieuwe variabele met de naam ' Verwijder bestand ”.
  • Dan de ' ontkoppelen() De methode wordt aangeroepen met behulp van de variabele en de bestandsnaam die moet worden verwijderd, wordt als eerste parameter doorgegeven.
  • De tweede callback-functie wordt ook gebruikt om eventuele fouten tijdens het voltooien van de bewerking op te vangen en weer te geven.
  • Als er geen fout optreedt, wordt er een succesbericht weergegeven. Om het asynchrone gedrag van deze methode te bevestigen, schrijft u een code die een dummybericht weergeeft buiten de “ ontkoppelen() 'methode reikwijdte.

Sla de bovenstaande code op in een gewenst bestand met de extensie “ .js ‘dat is’ proApp.js 'in ons geval en voer de onderstaande opdracht uit om de uitvoering uit te voeren:

knooppunt proApp. js

De gegenereerde uitvoer laat zien dat het geselecteerde bestand uit de projectmap is verwijderd. Ook wordt het asynchrone gedrag van deze methode bevestigd omdat het bericht dat na de methode wordt geschreven eerst wordt uitgevoerd:

Voorbeeld 2: Gebruik van de “fs.unlink()”-methode om een ​​symbolische link te verwijderen

De ' symbolisch ”-koppelingen bestaan ​​niet fysiek in het bestand, maar bevatten het relatieve of absolute pad als referentie voor andere bijgevoegde bestanden. Het gebruik ervan kan de prestaties van de applicatie verbeteren terwijl het minder ruimte in beslag neemt. Deze symbolische link wordt gecreëerd met behulp van de “ fs.symlinkSync() ' of ' fs.symlinkSync() ” methoden en voor het verwijderen van de “ fs.unlink() ” wordt gebruikt, zoals hieronder weergegeven:

const fsObj = vereisen ( 'fs' ) ;

// Het tot stand brengen van de symbolische link
fsObj. symlinkSync ( __mapnaam + ' \\ index.html' , 'symbolischBestand' ) ;
troosten. loggen ( ' \N Symbolische link naar index.html-bestand tot stand gebracht' ) ;

bestanden ophalen ( ) ;

fsObj. ontkoppelen ( 'symbolischBestand' , ( fout => {
als ( fout ) troosten. loggen ( fout ) ;
anders {
troosten. loggen ( ' \N Verwijderde gevestigde link: symbolicFile' ) ;
// Haal de bestanden op in de huidige map na verwijdering
bestanden ophalen ( ) ;
}
}
) ) ;

// Functie om huidige bestandsnamen op te halen in een map met een specifieke extensie
functie ophalenBestanden ( ) {
troosten. loggen ( ' \N Beschikbare bestanden in het huidige project:' ) ;
bezittingen laten staan = fsObj. leesdirSync ( __mapnaam ) ;
activa. voorElk ( bezit => {
troosten. loggen ( bezit ) ;
} ) ;
}

De uitleg van het bovenstaande codeblok is als volgt:

  • Importeer de “ fs ”-module en sla het object op in de “ fsObj ' genoemde variabele.
  • Maak een symbolische link naar het huidige projectbestand met de naam “ index.html ' en wijs de naam toe ' symbolischBestand ” naar het gemaakte symbolische linkbestand. De ' __mapnaam De eigenschap ” wordt gebruikt om het absolute pad voor de huidige projectmap op te halen.
  • Met behulp van de “ console.log() ”-methode geeft een succesbericht weer en roept de op maat gedefinieerde “ bestanden ophalen() ” functie.
  • Roep nu de “ ontkoppelen() ” methode via “ fsObj ' en geef de symbolische bestandsnaam door als de eerste parameter die moet worden verwijderd. Deze methode vereist een callback-functie die wordt gebruikt om eventuele fouten op te vangen en weer te geven.
  • Geef een verwijderingsbericht weer en roep opnieuw de “ bestanden ophalen() ”-functie als er geen fouten zijn.
  • Definieer daarna een “ bestanden ophalen() ”-functie die de huidige projectmappen leest met behulp van de “ leesdirSync() ” functie. Ten slotte worden alle aanwezige mappen weergegeven via de console met behulp van de verbeterde “ voorElk lus.

Voer nu de bovenstaande code uit door het bevattende “ .js ”-typebestand. Het bevattende bestand in ons geval is “ proApp.js Dus onze opdracht om uit te voeren zal zijn:

knooppunt proApp. js

De gegenereerde uitvoer laat zien dat de symbolische link tot stand is gebracht en vervolgens is verwijderd via de “ fs.unlink() methode:

Bonustip: wat is de “fs.unlinkSync()”-methode?

De ' unlinkSync() ”-methode wordt ook geboden door de “ fs ”module; het is de ' synchroon 'versie van de' ontkoppelen() methode. De ' unlinkSync() De methode kan worden gebruikt om dezelfde bewerkingen uit te voeren als het verwijderen van een bestand of symbolische bestanden, maar op een synchrone manier. Het blokkeert alle overwinnende processen totdat het beoogde bestand niet wordt verwijderd, zoals hieronder weergegeven:

was deleteFile = vereisen ( 'fs' ) ;

Verwijder bestand. unlinkSync ( 'linuxhintbestand.txt' ) ;

troosten. loggen ( 'De verwijderingsbewerking is beëindigd!' ) ;

In het bovenstaande codeblok:

  • Eerst de ' fs ' module is geïmporteerd en het object ervan is opgeslagen in een nieuwe variabele met de naam ' Verwijder bestand ”.
  • Dan de ' unlinkSync() 'methode wordt aangeroepen met behulp van de ' Verwijder bestand ”variabele, en de bestandsnaam die moet worden verwijderd, wordt als parameter doorgegeven.
  • Om de “ synchroon ' gedrag van deze methode, schrijft u een code die een dummybericht weergeeft naast de ' unlinkSync() methode.

Sla de bovenstaande code op in een gewenst bestand met de extensie “ .js ‘dat is’ proApp.js 'in ons geval en voer de onderstaande opdracht uit om de uitvoering uit te voeren:

Dat gaat allemaal over het verwijderen van bestanden in Node.js met behulp van de “fs.unlink()” -methode.

Conclusie

Om bestanden in Node.js te verwijderen, geeft u het beoogde bestandspad als eerste door en de callback-functie om fouten af ​​te handelen en andere dingen uit te voeren als de tweede parameter voor de “ ontkoppelen() methode. De ' ontkoppelen() De methode wordt ook gebruikt om de symbolisch gekoppelde bestanden te verwijderen. Deze methode heeft de synchrone versie, ook wel “ unlinkSync() 'methode die op dezelfde manier werkt als' ontkoppelen() ”-methode, maar deze omvat niet de “ Bel terug Functiegedeelte. In deze handleiding wordt het proces van het verwijderen van de bestanden uitgelegd via de “ fs.unlink() methode.