Stała Node.JS dla nowej linii specyficznej dla platformy?


106

Czy w Node.JS jest dostępna stała dla znaku nowego wiersza, który jest specyficzny dla platformy, na której działa aplikacja?

Na przykład:

  • Okna: \r\n
  • *nic: \n

2
Dlaczego po prostu nie używać przez \ncały czas?
— ThiefMaster

7
@ThiefMaster, ... ponieważ chciałbym, aby zapisane pliki były zgodne ze standardami używanej platformy.
— Brad

Odpowiedzi:



9

Node.js 0.6.x i starsze:

Niestety nie ma stałej, ale określasz ją samodzielnie za pomocą:

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

(zauważ, że jest to dość naiwne rozwiązanie)


Robię to teraz, ale liczyłem na coś wbudowanego. No cóż, dzięki za wkład Saul! +1
— Brad

2
Podsumowując z perspektywy czasu: od wersji 0.8 dalej można używać require('os').EOL(patrz zaakceptowana odpowiedź); co do tego rozwiązania: działa nawet na 64-bitowym Windowsie, bo tam też process.platform()wraca win32.
— mklement0

To nie działa na komputerach Mac, których używa się \rjako separatora.
— yeputons

3
Mac przestał używać \rjako separatora po Mac OS 9 (patrz en.wikipedia.org/wiki/Newline )
— Saul

17
Nie tak naiwny, jak myślisz, właśnie to osrobi moduł .
— podsumowuje
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.