以独立于系统的方式将文件读入一行数组

在Node.js中,当我想将一个文件的行读入一个数组时,我这样做:

fs.readFileSync(filename).split('\r\n') 

但是这在Linux上不起作用。 在Linux上,我可以这样做:

 fs.readFileSync(filename).split('\n') 

但是这在Windows上不起作用。 我也可以这样做:

 fs.readFileSync(filename).split(/[\r\n]+/) 

在两个系统上都能正常工作,但很难阅读。

是否有一个简单的,系统无关的方式来读取文件到Node.js中的一行数组?

你可以使用常量来满足这样的需求:

 var nl = require('os').EOL; 

所以它看起来像:

 var nl = require('os').EOL; fs.readFileSync(filename).split(nl); 

或者你可以使用RegExp:

 fs.readFileSync(filename).split(/\r?\n/)