Node.JS-Konstante für plattformspezifische neue Leitung?


105

Gibt es in Node.JS eine Konstante für ein Zeilenumbruchzeichen, das für die Plattform spezifisch ist, auf der die Anwendung ausgeführt wird?

Beispielsweise:

  • Windows: \r\n
  • * nix: \n

2
Warum nicht einfach die \nganze Zeit nutzen?
ThiefMaster

7
@ThiefMaster, ... weil ich möchte, dass Dateien, die geschrieben wurden, den Standards für die verwendete Plattform entsprechen.
Brad

Antworten:



8

Node.js 0.6.x und früher:

Leider gibt es keine Konstante, aber Sie bestimmen sie selbst mit:

var nl = (process.platform === 'win32' ? '\r\n' : '\n')

(Beachten Sie, dass dies eine ziemlich naive Lösung ist.)


Ich mache das jetzt, hoffte aber auf etwas Eingebautes. Na ja, danke für deinen Beitrag Saul! +1
Brad

2
Um es im Nachhinein zusammenzufassen: Ab Version 0.8 können Sie verwenden require('os').EOL(siehe akzeptierte Antwort); wie für diese Lösung: funktioniert auch auf 64-Bit - Windows, da process.platform()kehrt win32auch da.
mklement0

Das funktioniert nicht auf Macs, die \rals Trennzeichen dienen.
Yeputons

3
Mac \rverwendet nach Mac OS 9 nicht mehr als Trennzeichen (siehe en.wikipedia.org/wiki/Newline )
Saul

17
Nicht so naiv wie Sie denken, genau das macht das osModul .
Talles
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.