Node.js 'fs (filsystem)' modulen utfører I/O-operasjoner på filsystemet ved hjelp av sine synkrone og asynkrone metoder. Disse metodene inkluderer 'writeFile()', 'writeFileSync()' 'readFile()', 'readFileSync()' og mye mer. For eksempel 'fs.writeFile()' metoden brukes til å skrive en fil synkront. 'fs.writeFile()' er en asynkron metode som skriver data inn i en fil. Dens asynkrone natur stopper ikke utførelsen av alle andre operasjoner mens du utfører den spesifiserte oppgaven som er å skrive en fil.
Denne veiledningen vil illustrere hvordan du skriver filer ved å bruke 'fs.writeFile()' i Node.js.
Forutsetninger:
Før du går mot den praktiske implementeringen, se på mappestrukturen til Node.js-prosjektet:
Merk: JavaScript-koden for å skrive en fil ved å bruke 'fs.writeFile()'-metoden vil bli skrevet inne i 'app.js'-filen til Node.js-prosjektet.
Hvordan skrive filer ved hjelp av fs.writeFile() i Node.js?
For å skrive en fil på en asynkron måte uten å blokkere kjøringen av programmet, bruk 'fs.writeFile()' metode ved hjelp av dens grunnleggende syntaks som er skrevet nedenfor:
fs. skrivefil ( fil , data , alternativer , Ring tilbake )Syntaksen ovenfor viser at 'fs.writeFile()'-metoden fungerer på følgende parametere:
- fil: Den spesifiserer den nøyaktige banen til eksempelfilen med navnet som må skrives. Det skal stå i doble/enkle anførselstegn.
- data: Den spesifiserer innholdet som skal skrives i den opprettede filen.
- alternativer: Det angir de nedenfor angitte valgfrie parameterne:
- koding: Den inneholder kodingstypen, dvs. 'utf8', ellers er standardverdien 'null'.
- modus: Det refererer til et heltall som representerer filmodusen. Standardverdien er '0666'
- flagg: Det indikerer operasjonen utført på den angitte filen. Standardverdien er 'w(skriv)'.
- Ring tilbake: Den definerer en tilbakeringingsfunksjon som kjøres etter å ha skrevet innholdet inn i den aktuelle filen. Den støtter bare én parameter 'err' (Hvis det oppstår en feil).
Bruk nå den ovenfor definerte 'fs.writeFile()'-metoden praktisk talt via de gitte eksemplene.
Eksempel 1: Skriv filer med 'Standard'-verdier for 'fs.writeFile()'-metoden
Dette eksemplet bruker 'fs.writeFile()'-metoden for å skrive en fil asynkront ved å bruke standardverdiene:
konst fil_data = 'Velkommen til Linuxhint!'
fs. skrivefil ( 'myFile.txt' , fil_data , ( feil ) => {
hvis ( feil )
konsoll. feil ( feil ) ;
ellers {
konsoll. Logg ( 'Fil skrevet vellykket \n ' ) ;
konsoll. Logg ( 'Filinnholdet er som følger:' ) ;
konsoll. Logg ( fs. readFileSync ( 'myFile.txt' , 'utf8' ) ) ;
}
} ) ;
I kodelinjene ovenfor:
- Først importerer 'fs'-variabelen filsystemmodulen(fs) ved hjelp av 'kreve()' metode.
- Neste, den 'innhold' variabel angir fildataene som brukeren ønsker å sette inn i filen.
- Etter det har 'writeFile()' metoden oppretter en fil «myFile.txt» og skriver med de spesifiserte 'dataene' inn i den.
- Hvis det genereres en feil, vil 'console.error()' metoden som er spesifisert i 'if'-setningen vil vise en feilmelding (hvis forekommer).
- Ellers vil 'else'-setningen utføres for å vise bekreftelsesmeldingene og det opprettede filinnholdet ved hjelp av 'fs.readFileSync()' metode
Produksjon
Utfør følgende kommando for å starte 'app.js'-filen:
Det kan sees at terminalen viser det spesifiserte filinnholdet (myFile.txt) som er skrevet vellykket i det gjeldende Node.js-prosjektet:
Eksempel 2: Skriv filer ved å bruke forskjellige 'Alternativer' av 'fs.writeFileSync()'-metoden
Dette eksemplet bruker de flere alternativene til 'fs.writeFile()'-metoden for å skrive dataene inn i den angitte filen:
la file_data = 'Velkommen til Linuxhint!' ;
fs. skrivefil ( 'myFile.txt' , fil_data ,
{
koding : 'utf8' ,
flagg : 'I' ,
modus : 0o666
} ,
( feil ) => {
hvis ( feil )
konsoll. Logg ( feil ) ;
ellers {
konsoll. Logg ( 'Fil skrevet vellykket \n ' ) ;
konsoll. Logg ( 'Filinnholdet er som følger:' ) ;
konsoll. Logg ( fs. readFileSync ( 'myFile.txt' , 'utf8' ) ) ;
}
} ) ;
Kodebiten ovenfor:
- Bruk 'fs.writeFile()' metode som skriver de spesifiserte dataene inn i 'myFile.txt'-filen ved å bruke 'I' flagg.
- Etter det har 'utf8' format returnerer det angitte filinnholdet til strengformat og “0o666” filmodus spesifiserer tillatelsene, dvs. lesbare og skrivbare.
- I tilfelle feil, kan 'hvis-annet' uttalelsen vil bli utført.
Produksjon
Start 'app.js'-filen ved å utføre den gitte kommandoen:
Terminalen viser det angitte filinnholdet (myFile.txt) som bekrefter at 'myFile.txt' er opprettet:
Det handler om å skrive filer ved å bruke 'fs.writeFile()'-metoden i Node.js.
Konklusjon
For å skrive en fil asynkront i Node.js, bruk den forhåndsdefinerte 'fs.writeFile()' metode. Denne metoden er avhengig av sin generaliserte syntaks for å utføre denne oppgaven ved å bruke de fire parameterne: 'fil', 'data', 'alternativer' og en 'tilbakeringing'-funksjon. Denne metoden oppretter filen på et bestemt sted hvis den ikke er til stede. Dette innlegget har kort demonstrert 'fs.writeFile()' metode for å skrive filer i Node.js.