Com eliminar fitxers a Node.js mitjançant 'fs.unlink'?

Com Eliminar Fitxers A Node Js Mitjancant Fs Unlink



El sistema de fitxers ' fs El mòdul proporciona diversos mètodes mitjançant els quals les operacions bàsiques com llegir, arxivar, suprimir, afegir i altres operacions relacionades es poden realitzar fàcilment. Tanmateix, l'operació d'eliminació es realitza principalment diàriament pels desenvolupadors. Aquesta operació d'eliminació es pot realitzar directament mitjançant la interfície GUI o mitjançant la utilització del ' fs ' mètode de mòdul anomenat ' desenllaçar() ”.

Aquesta guia explica el procediment per eliminar fitxers a Node.js amb l'ajuda de 'fs.unlink()' explicant les seccions següents:

Com eliminar un fitxer mitjançant el mètode 'fs.unlink()'.

El ' fs.unlink() ” és un mètode sincrònic o de bloqueig, ja que atura l'execució de tots els altres processos fins que el fitxer especificat s'elimini completament. Aquest ' fs.unlink() ' també es pot utilitzar per eliminar el ' assignat simbòlica ” enllaça que apunten al sistema de fitxers de destinació.







Sintaxi



El ' fs.unlink() ” La sintaxi del mètode es mostra a continuació:



fsObj. desenllaçar ( filePath, callbackFunc )

En la sintaxi anterior:





  • El ' fsObj ' és la variable que actua com a objecte d'un ' fs ” mòdul.
  • El ' filePath ” és la ruta del fitxer que resideix dins del directori del projecte que s'ha d'eliminar.
  • El ' callbackFunc ” és la funció de fletxa necessària que ajuda a mostrar els missatges de resultats o errors que han sorgit durant el processament.

Passem per un parell d'exemples per a la implementació pràctica del mètode 'fs.unlink()'.

Exemple 1: ús del mètode 'fs.unlink()' per eliminar un fitxer

En aquest exemple, un fitxer de projecte aleatori s'eliminarà o s'eliminarà d'un fitxer del directori del projecte mitjançant el ' fs.unlink() ” mètode. La seva implementació pràctica es mostra al bloc de codi següent:



era deleteFile = requereixen ( 'fs' ) ;

esborrar Arxiu. desenllaçar ( 'linuxhintFile.txt' , funció ( error ) {

si ( error ) llançar error ;

consola. registre ( 'L'operació per a la supressió de fitxers s'ha realitzat correctament!' ) ;

} ) ;

consola. registre ( 'L'operació d'eliminació ha finalitzat!' ) ;

Al bloc de codi anterior:

  • En primer lloc, el ' fs ” s'ha importat i el seu objecte s'emmagatzema en una nova variable anomenada “ esborrar Arxiu ”.
  • Aleshores el ' desenllaçar() ” s'anomena mitjançant la variable i el nom del fitxer que s'ha de suprimir es passa com a primer paràmetre.
  • La seva segona funció de devolució de trucada també s'utilitza per detectar i mostrar qualsevol error produït durant la finalització de l'operació.
  • Si no hi ha cap error, mostreu un missatge d'èxit. Per confirmar el comportament asíncron d'aquest mètode, escriviu un codi que mostri un missatge fictici fora del ' desenllaçar() abast del mètode.

Emmagatzema el codi anterior en un fitxer desitjat amb una extensió de ' .js ' el qual és ' proApp.js ” en el nostre cas i executeu l'ordre següent per dur a terme l'execució:

node proApp. js

La sortida generada mostra que el fitxer seleccionat s'ha esborrat del directori del projecte. A més, el comportament asíncron d'aquest mètode es confirma perquè primer s'executa el missatge escrit després del mètode:

Exemple 2: ús del mètode 'fs.unlink()' per eliminar un enllaç simbòlic

El ' simbòlica ” els enllaços no tenen existència física al fitxer, però contenen la ruta relativa o absoluta com a referència per a altres fitxers adjunts. El seu ús pot augmentar el rendiment de l'aplicació alhora que consumeix menys espai. Aquest enllaç simbòlic es crea amb l'ajuda del ' fs.symlinkSync() ' o ' fs.symlinkSync() ” i per suprimir el “ fs.unlink() s'utilitza, tal com es mostra a continuació:

const fsObj = requereixen ( 'fs' ) ;

// Establiment del vincle simbòlic
fsObj. symlinkSync ( __dirname + ' \\ index.html' , 'symbolicFile' ) ;
consola. registre ( ' \n Enllaç simbòlic establert al fitxer index.html' ) ;

recuperarFitxers ( ) ;

fsObj. desenllaçar ( 'symbolicFile' , ( error => {
si ( error ) consola. registre ( error ) ;
altra cosa {
consola. registre ( ' \n Enllaç establert suprimit: symbolicFile' ) ;
// Obteniu els fitxers al directori actual després de la supressió
recuperarFitxers ( ) ;
}
}
) ) ;

// Funció per obtenir els noms de fitxer actuals en un directori amb una extensió específica
funció retrieveFiles ( ) {
consola. registre ( ' \n Fitxers disponibles al projecte actual:' ) ;
deixar actius = fsObj. readdirSync ( __dirname ) ;
actius. per cadascú ( actiu => {
consola. registre ( actiu ) ;
} ) ;
}

L'explicació del bloc de codi anterior és la següent:

  • Importa el ' fs ” i emmagatzema el seu objecte al “ fsObj ” variable anomenada.
  • Creeu un enllaç simbòlic al fitxer del projecte actual anomenat ' index.html ” i assigneu el nom “ symbolicFile ” al fitxer d'enllaç simbòlic creat. El ' __dirname ” s'utilitza per recuperar la ruta absoluta del directori del projecte actual.
  • Amb l'ajuda de la ' console.log() El mètode ' mostra un missatge d'èxit i invoca el ' personalitzat ' retrieveFiles() ” funció.
  • Ara, invoqueu el ' desenllaçar() ' mètode mitjançant ' fsObj ” i passeu el nom del fitxer simbòlic com a primer paràmetre que cal suprimir. Aquest mètode requereix una funció de devolució de trucada que s'utilitza per detectar i mostrar qualsevol error sorgit.
  • Mostra un missatge d'eliminació i torna a invocar el ' retrieveFiles() ” funció si no hi ha errors.
  • Després d'això, definiu un ' retrieveFiles() ” funció que llegeix els directoris actuals del projecte mitjançant el “ readdirSync() ” funció. Finalment, tots els directoris residents es mostren a la consola mitjançant l'opció millorada ' per cadascú ” bucle.

Ara, executeu el codi anterior executant el que conté ' .js ” escriviu fitxer. El fitxer que conté en el nostre cas és ' proApp.js ” per tant, la nostra ordre per executar serà:

node proApp. js

La sortida generada mostra que l'enllaç simbòlic s'ha establert i després s'ha eliminat mitjançant el ' fs.unlink() ” mètode:

Consell de bonificació: Què és el mètode 'fs.unlinkSync()'?

El ' unlinkSync() ' El mètode també el proporciona el ' fs ” mòdul; Això és el ' sincrònic ' versió de la ' desenllaçar() ” mètode. El ' unlinkSync() ” es pot utilitzar per realitzar les mateixes operacions d'eliminació d'un fitxer o fitxers simbòlics però de manera síncrona. Bloqueja tots els processos de superació fins que el fitxer de destinació no s'elimini, tal com es mostra a continuació:

era deleteFile = requereixen ( 'fs' ) ;

esborrar Arxiu. unlinkSync ( 'linuxhintFile.txt' ) ;

consola. registre ( 'L'operació d'eliminació ha finalitzat!' ) ;

Al bloc de codi anterior:

  • En primer lloc, el ' fs ” s'ha importat i el seu objecte s'emmagatzema en una nova variable anomenada “ esborrar Arxiu ”.
  • Aleshores el ' unlinkSync() El mètode s'anomena utilitzant el ' esborrar Arxiu ” i el nom del fitxer que cal suprimir es passa com a paràmetre.
  • Per confirmar el ' sincrònic ” d'aquest mètode, escriviu un codi que mostri un missatge fictici al costat del “ unlinkSync() ” mètode.

Emmagatzema el codi anterior en un fitxer desitjat amb una extensió de ' .js ' el qual és ' proApp.js ” en el nostre cas i executeu l'ordre següent per dur a terme l'execució:

Això es tracta de l'eliminació de fitxers a Node.js mitjançant el mètode 'fs.unlink()'.

Conclusió

Per eliminar fitxers a Node.js, passeu la ruta del fitxer de destinació com a primer i la funció de devolució de trucada per gestionar errors i realitzar altres coses com a segon paràmetre per a ' desenllaçar() ” mètode. El ' desenllaçar() ” s'utilitza també per eliminar els fitxers enllaçats simbòlics. Aquest mètode té la versió síncrona també anomenada ' unlinkSync() ” mètode que actua de manera similar a “ desenllaçar() ”, però no inclou el “ devolució de trucada ” part funcional. Aquesta guia ha explicat el procés d'eliminació dels fitxers mitjançant el ' fs.unlink() ” mètode.