2013-02-19 49 views
0
fs.writeFile('message.txt', 'Hello Node', function (err) { 
    if (err) throw err; 
    console.log('It\'s saved!'); 
}); 

我有一个关于在节点使用功能fs.writeFile()的一个问题,它打印字符串到事实一个文本文件。Node.js的:在-关于在Node.js的的使用功能fs.writeFile()的

目前,我有一段代码将以下内容输入到控制台中。而不是控制台,我想修改一下代码,以便打印成文本文件。

var options = { 
    host: 'www.google.com', 
    path: '/' 
}; 

http.get(options, function(response) { 
    console.log("Status Code: " + response.statusCode); 

    for(var item in response.headers) { 
    console.log(item + ": " + response.headers[item]); 
    } 

我想与fs.writeFile更换console.log,然而,输入在fs.writeFile()Hello Node部分是一个字符串。因此,我被困在这一部分。

为fs.writeFile()对Node.js的文档是在这里:http://nodejs.org/api/fs.html

如文档中解释说,这是fs.writeFile功能是如何工作的fs.writeFile(filename, data, [encoding], [callback])。我的问题是关于data输入。

我对Node.js相当陌生,因此我想获得一些反馈意见,并希望通过一些指针来解决问题。

编辑1:我使用String()然后把我的函数变成一个字符串?我不认为这是对的,但它可能是一种可能性。

+0

'项目+ “:” + response.headers [项目]'是一个字符串,以及?为什么要求'String()'把一个函数变成一个字符串,你想打印一个函数吗? – Bergi 2013-02-19 17:27:23

+0

目前,console.log输出输出。我想问一下如何使用fs.writeFile将此输出打印到文本文件中。据我所知,fs.writeFile打印字符串(如“Hello Node!”所示)。我想知道一个解决方法 - 这是我的问题。 – theGreenCabbage 2013-02-19 18:09:05

+1

为什么不能这样工作:'fs.writeFile('log.txt',“Status Code:”+ response.statusCode)'? – TinyTimZamboni 2013-02-19 19:26:29

回答

0

这是解决它的代码:

http.get(options, function(res) { 
    fs.appendFile('log.txt', "Status Code: " + res.statusCode + "\n"); 

    for(var item in res.headers) { 
    fs.appendFile('log.txt', item + ": " + res.headers[item] + "\n"); 
    } 
}).on('error', function(e) { 
    console.log("Error: " + e.message); 
}); 

我用fs.appendFile