Константа Node.JS для нової лінії, орієнтованої на платформу?


106

Чи є в Node.JS константа для символу нового рядка, характерного для платформи, на якій працює програма?

Наприклад:

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

2
Чому б просто не використовувати \nвесь час?
— ThiefMaster

7
@TentistMaster, ... тому що я хотів би, щоб файли, написані, відповідали стандартам для використовуваної платформи.
— Бред

Відповіді:



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 )
— Саул

17
Не наївно, як ви думаєте, саме цим osзаймається модуль .
— казки
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.