Hvordan skrive filer ved hjelp av fs.writeFile() i Node.js?

Hvordan Skrive Filer Ved Hjelp Av Fs Writefile I Node Js



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 fs = krever ( 'fs' ) ;
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:

node-app. js

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:

konst fs = krever ( 'fs' ) ;
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:

node-app. js

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.