将 console.log() 内容传送到 Node.js 中的 .txt 文件

Piping console.log() contents to a .txt file in Node.js

我有一个 Node.js 文件,可以将一堆测试结果轻松输出到终端,超过 1000 行。该文件看起来像这样:

launchChromeAndRunLighthouse('https://www.apple.com/', flags).then(results => { console.log(results); });

console.log() 之所以存在,是因为我想不出另一种查看结果的方法。我需要一种通过 Node.js 而不是命令行创建包含所有 CLI output/results 的文件的方法。

我认为 fs.appendFile('example.txt', 'append this text to the file', (err) => {}); 可能有用,但我需要 "append" 到文件的是函数的 results。当我尝试这样做时,该文件仅包含 [object Object] 而不是测试的实际结果。

我是 Node 的初学者,非常感谢任何建议。

你很接近,但你需要在你的其他函数中包含 appendFile。这假定您的 'results' 对象是字符串类型。如果不是,那么您需要获取此对象的字符串版本。

灯塔文档指定返回的日志信息的格式。如果将 output: json 添加到标志对象,则可以像

一样使用它
launchChromeAndRunLighthouse('https://www.apple.com/', flags).then(results => { 
    fs.appendFile('example.txt', JSON.stringify(results), (err) => {
        console.log('error appending to file example.txt');
    });
});