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()'.
- Què és el mètode 'fs.unlinkSync()'?
- Conclusió
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. jsLa 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. jsLa 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.