将 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');
});
});
我有一个 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');
});
});