0

我有一个 Node.js 文件,它向终端输出一堆测试结果,很容易超过 1000 行。该文件看起来像这样:

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

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

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

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

4

1 回答 1

1

你很接近,但你需要在你的其他函数中包含 appendFile 。这假设您的“结果”对象是字符串类型。如果没有,那么您需要获取此对象的字符串版本。

lighthouse 文档指定返回的日志信息的格式。如果您添加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');
    });
});
于 2017-07-22T00:14:05.283 回答