web-dev-qa-db-fra.com

Comment ajouter à New Line dans Node.js

J'essaie d'ajouter des données à un fichier journal à l'aide de Node.js et cela fonctionne correctement, mais la ligne suivante ne passe pas. \n ne semble pas fonctionner dans ma fonction ci-dessous. Aucune suggestion?

function processInput ( text ) 
{     
  fs.open('H://log.txt', 'a', 666, function( e, id ) {
   fs.write( id, text + "\n", null, 'utf8', function(){
    fs.close(id, function(){
     console.log('file is updated');
    });
   });
  });
 }
72
DaBears

On dirait que vous utilisez ceci sous Windows (étant donné votre H://log.txt chemin du fichier).

Essayez d'utiliser \r\n au lieu de juste \n.

Honnêtement, \n c'est bien; vous consultez probablement le fichier journal dans le bloc-notes ou quelque chose d'autre qui ne rend pas les nouvelles lignes non Windows. Essayez de l’ouvrir dans une visionneuse/un éditeur différent (Wordpad, par exemple).

132
Rob Hruska

Utilisez plutôt la constante os.EOL.

var os = require("os");

function processInput ( text ) 
{     
  fs.open('H://log.txt', 'a', 666, function( e, id ) {
   fs.write( id, text + os.EOL, null, 'utf8', function(){
    fs.close(id, function(){
     console.log('file is updated');
    });
   });
  });
 }
63
shinzo