2012-06-02 6 views
74

Gibt es in Node.JS eine Konstante für ein Newline-Zeichen, das für die Plattform spezifisch ist, auf der die Anwendung ausgeführt wird?Node.JS Konstante für plattformspezifische neue Zeile?

Zum Beispiel:

  • Fenster: \r\n
  • * nichts: \n
+1

Warum einfach nicht verwenden '\ n 'die ganze Zeit? – ThiefMaster

+5

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

Antwort

146

nicht sicher, ob dies in der 0.8.x neu ist, aber es gibt jetzt eine Konstante http://nodejs.org/api/os.html#os_os_eol

var endOfLine = require('os').EOL; 
+0

Ausgezeichnet! Freut mich zu sehen, dass sie es hinzugefügt haben. Danke für das Ausgraben. – Brad

+0

neu in: v0.7.8, vorsichtig verwenden –

+0

@CyprienAutexier Das war vor mehr als 5 Jahren ... – Brad

8

Leider gibt es keine Konstante, sondern Sie es selbst bestimmen, mit:

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

(beachten Sie, das ist eine ziemlich naive Lösung)

+0

Ich mache das jetzt, aber ich hoffte auf etwas eingebautes. Oh gut, danke für deine Eingabe Saul! +1 – Brad

+1

Nur um im Nachhinein zusammenzufassen: ab v0.8 können Sie 'require ('os'). EOL '(siehe akzeptierte Antwort) verwenden; wie für diese Lösung: funktioniert sogar auf 64-Bit-Windows, weil 'process.platform()' auch 'win32' zurückgibt. – mklement0

+0

Das funktioniert nicht auf Mac, die '\ r' als Trennzeichen verwenden. – yeputons