Nodejs写文件换行

2022-10-31 17:02:18 浏览数 (1)

使用 Nodejs 的 fs.writeFile Api 写文件是很常见的操作。 而写文件过程中换行也是很常见的,但是如何换行这个问题需要注意,因为不同的操作系统换行符是不一样的。

如何换行

操作系统的换行符不一样,其中 Windows 系统是 rn 其他系统是 n

因此,如果需要写出来的文件适用于各个系统,那么写文件的时候就需要判断。

不过好在 Nodejs 提供了换行符常量 os.EOL。 用法如下:

代码语言:javascript复制
const os = require('os')
let str = 'abc' os.EOL;
fs.writeFileSync(sitemapFile, str)

一个坑

之前不知道这个 API,于是手写了一段代码

代码语言:javascript复制
let str = 'abcr';
fs.writeFileSync(sitemapFile, str)

这段代码看起来没啥问题,能正常写入文件,使用 vsCode 编辑器也能正常打开。 但是,使用 cat 命令、tail 命令都无法读取文件,使用 fs.readFileSync 也无法正常读取。

所以,为了避免不必要的麻烦,使用 Nodejs 写文件的时候,换行符还是建议使用 os.EOL 常量。

0 人点赞