¿Constante Node.JS para una nueva línea específica de la plataforma?


106

¿Hay una constante disponible en Node.JS para un carácter de nueva línea que sea específico de la plataforma en la que se ejecuta la aplicación?

Por ejemplo:

  • Ventanas: \r\n
  • *nada: \n

2
¿Por qué no usarlo \ntodo el tiempo?
— ThiefMaster

7
@ThiefMaster, ... porque me gustaría que los archivos escritos se alinearan con los estándares de la plataforma en uso.
— Brad

Respuestas:



9

Node.js 0.6.xy versiones anteriores:

Desafortunadamente, no hay una constante, pero la determina usted mismo usando:

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

(tenga en cuenta que esta es una solución bastante ingenua)


Estoy haciendo eso ahora, pero esperaba algo incorporado. Oh bien, gracias por tu aporte Saul! +1
— Brad

2
Solo para resumir con el beneficio de la retrospectiva: a partir de v0.8, puede usar require('os').EOL(ver respuesta aceptada); en cuanto a esta solución: funciona incluso en Windows de 64 bits, porque también process.platform()regresa win32allí.
— mklement0

Eso no funciona en Mac, que se usa \rcomo separador.
— sí,

3
Mac dejó de usar \rcomo separador después de Mac OS 9 (consulte en.wikipedia.org/wiki/Newline )
— Saul

17
No tan ingenuo como crees, esto es precisamente lo que hace el osmódulo .
— Talles
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.