Константа Node.JS для новой строки, зависящей от платформы?


108

Доступна ли в Node.JS константа для символа новой строки, специфичная для платформы, на которой выполняется приложение?

Например:

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

2
Почему бы просто не использовать \nвсе время?
— ThiefMaster 02

7
@ThiefMaster, ... потому что я хотел бы, чтобы файлы, написанные в соответствии со стандартами для используемой платформы.
— Брэд

Ответы:



9

Node.js 0.6.x и ранее:

К сожалению, константы нет, но вы определяете ее самостоятельно, используя:

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

(обратите внимание, это довольно наивное решение)


Я делаю это сейчас, но надеялся на что-то встроенное. Хорошо, спасибо за твой вклад, Сол! +1
— Брэд

2
Подводя итоги задним числом: начиная с версии 0.8 вы можете использовать require('os').EOL(см. Принятый ответ); что касается этого решения: работает даже в 64-битной Windows, потому что там тоже process.platform()возвращается win32.
— mklement0

Это не работает на Mac, которые используются \rв качестве разделителя.
— yeputons

3
Mac перестал использовать в \rкачестве разделителя после Mac OS 9 (см. En.wikipedia.org/wiki/Newline )
— Saul

17
Не так наивно, как вы думаете, модуль именно этим и osзанимается .
— Talles
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.