我刚开始使用node.js,遇到了appendFile,它将内容附加到文件的末尾,但是当我执行它时,我的代码ID会将内容全部替换为数据。
这是代码。
var http = require('http');
var file = require('fs');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
var fd = file.open('default.html','w',function(err){
if(err)throw err;
});
file.appendFile('default.html',"<p>Hi,this to inform you that i really don't care</p>",function(err){});
return res.end();
}).listen(8080);
默认文件是
<!doctype>
<html lang="en">
<head>
<title>File</title>
</head>
<body>
<h1>
Hi, EveryOne
</h1>
</html>
我得到的输出是
<p>Hi,this to inform you that i really don't care</p>
任何人都可以告诉我为什么会这样或我在做什么错吗?
答案 0 :(得分:1)
因为您已经以“ w”文件(即写入模式)打开了文件,然后对其进行了操作。您真的不需要在附加文件之前打开文件。
var fd = file.open('default.html','w',function(err){
if(err)throw err;
});
我看不到,您对此做了任何有用的事情,因此不需要此代码。如果确实需要它,则以“附加”模式打开文件,方法是将'w'
替换为'a'
,并记住也要关闭文件。
但是,正如我所说,您可以使用方法简单地追加,而不用打开文件。