node.js节点
到现有站点
能力,并一直在通过几个教程来掌握它。。。当然,作为一个有经验的程序员,我在学习一个新事物,我的实验有点超出了教程的范围。所以,我并没有用每次迭代来代替这些工作,而是在代码的基础上做了一些补充,希望在我完成之后,我有一点代码来练习所涵盖的所有内容。
在这件事上,我发现了一个明显的执行不规范的例子,在我看来这是完全不可接受的,
但是,也许我遗漏了一些东西,这就是为什么我要发帖的原因(尽管如果我是对的,这对其他人来说也很有价值
node.js节点
程序员应该知道这一点)。
这是
a link to the tutorial
这让我想到了这个。这是它的开始。
但是,结果并不正确;
最后,文件还是存在的!也许更正确的是,文件创建的实例发生在潜在的文件删除之后,即使代码中的顺序不同。(请注意,这是一个测试环境,因此不像是其他用户访问了系统,导致创建时不满足删除条件。)
这很容易重复。
代码如下:
var http = require("http");
var dt = require("./firstmodeule.js");
var url = require("url");
var fs = require("fs");
var fn = "index.html";
var log = "nodejs.log";
http.createServer(function (req, res)
{
res.writeHead(200, {"Content-Type": "text/html"});
res.write("<p>New current Date & Time: "+dt.myDateTime()+"<br>");
res.write(req.url+"<br>"); // This captures the right hand of the URL.
var q = url.parse(req.url, true).query;
var txt = q.year + " " + q.month;
res.write(txt+"</p>");
res.write("<p></p>");
fs.appendFile(log, dt.myDateTime()+" "+txt+"\n", function (err)
{
if (err) throw err;
console.log("saved?");
});
fs.readFile(fn, function(err, data)
{
fs.writeFile("delable.index", data, function(err)
{
if (err)
{
throw err;
} else {
console.log("wrote to delable.index");
}
});
res.write(data);
res.end();
});
if (q.month = "Jan")
{
fs.unlink("delable.index", function (err)
{
if (err)
{
throw err;
} else {
console.log("Deleted delable.index");
}
});
}
//res.end(); // End CANNOT be here if we"re doing a res.write(data);
}).listen(8080);
当然你可以得到第一模块.js从引用的教程-或删除它,因为它与此无关。
http://MySite:8080/?year=2020&month=Jan
下面是一个输出示例:
$ node example.js
Deleted delable.index
saved?
wrote to delable.index
Deleted delable.index
saved?
wrote to delable.index
与代码的顺序相反,我们首先得到被删除的部分!
好吧,那么,有什么好处呢?做
node.js节点
对于任何好奇的人来说,这都是目前为止最新的代码。操作系统是过去几天下载的Fedora 28,节点包是nodejs-8.11.4条-1.fc28.x86ʂ.