TEL:400-8793-956
当前位置:程序、服务器

NodeJS示例代码的运行方式与课程演示中的运行方式不同

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-08 11:30:10

 问:与Andrew Chalkers一起开设了“使用Node.js构建简单的动态站点”课程。我花了数小时试图找出问题所在,但根本不知道发生了什么。这是简单的代码:

 
app.js
var router = require(“ ./ router.js”);
var http = require('http');
http.createServer(function(request,response){
     router.home(request,response);
     router.user(request,response);
 })。listen(3000);
 
router.js
函数homeRoute(request,response){
     response.writeHead(200,{'Content-Type':'text / plain'});
    if(request.url ==='/'){
         response.write('Header \ n');
        response.write('Search \ n');
        response.end('Footer \ n');
    }
 }
函数userRoute(request,response){
     response.writeHead(200,{'Content-Type':'text / plain'});
    var username = request.url.replace('/','');
    如果(username.length> 0){
         response.write('Header \ n');
        console.log(“ [[+用户名+”]“的标头之后);
        response.write('为['
+用户名+']'+'\ n');         response.end('Footer \ n');
    }
}
 module.exports.home = homeRoute;
module.exports.user = userRoute; 
 
然后,当我运行“ node app.js”并键入url:http:// localhost:3000 / chalkers时, 我会收到以下控制台日志:
 
[chalkers]
标头之后[favicon.ico]标头之后
 
好像有人在我发送我的网址后就一直通过/favicon.ico发布一些网址。问题是,当我尝试在用户favicon.ico上调用用户配置文件时,它会使服务器崩溃。
 
有人知道这个“ favicon.ico”来自哪里吗?
 
 
答:“ favicon.ico”是一个图标(图像)文件,许多站点都使用该文件来通过浏览器地址栏中的站点URL显示较小的图像。它不是用户。
 
据我所知,节点在获取请求时会自动请求此文件。(实际上有一个称为serve-favicon的npm软件包,它使您可以解决此问题。)
 
就是说,我只是使用节点4.2.1在本地主机上测试了文件,并且它在不向favicon.ico发出请求的情况下可以正常运行。但是,我无法确认是否是因为节点4.x已更正了该问题。我认为Treehouse的版本早于4。
上一篇: 请我需要有关PHP脚本的帮助
下一篇: bin / rake db中的错误:migrate