createWriteStream 的标志选项

osm*_*nes 5 javascript file node.js

我正在使用 Node js 将文本文件写入磁盘:

const fs = Promise.promisifyAll(require('fs'));

var path = directory + '/cpu.log';

var a = fs.createWriteStream(path, {
            flags: 'a'
        });

a.write('test string');
Run Code Online (Sandbox Code Playgroud)

有哪些选择flags: 'foo'

我在文档中找不到替代方案。

Mar*_*yer 7

它们记录在fs.open https://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback

当然,fs.createWriteStream您会对用于写入的标志感兴趣,例如w用于写入、a用于附加。

文档暗示您还可以使用代表 Linux Open(2) 中标志的数字。您可以通过以下方式获取常见列表:

var fs = require('fs')
fs.constants
// { O_RDONLY: 0,
//   O_WRONLY: 1,
//   O_RDWR: 2,
//    ...
Run Code Online (Sandbox Code Playgroud)

但您可能应该坚持使用正常的、r等,除非您有令人信服的理由不这样做。wa