我有以下node.js程序:
var http = require("http");
var count = 0;
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World: " + yolo());
response.end();
}).listen(8888);
function yolo(){
count++;
return count;
}
我在终端窗口中运行该程序,并通过我的浏览器http://localhost:8888/
访问它我刷新时得到以下输出:
为什么程序每次将计数变量递增2而不是1?
答案 0 :(得分:3)
您可以查看浏览器何时拨打/favicon.ico
:
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
if (request.url !== '/favicon.ico') {
response.write("Hello World: " + yolo());
}
response.end();
}).listen(8888);
答案 1 :(得分:2)
您可能希望使用像express这样的路由库来为您提供所需的内容。
var express = require('express');
var app = express();
var count = 0;
app.get('/', function(req, res){
count++;
res.send('Hello world:'+count);
});
app.listen(3000);
这只会响应“/”处的请求,而不会像createServer
那样响应每个网址。