Javascript 尝试使用Node.js根据URL更改周长

Javascript 尝试使用Node.js根据URL更改周长,javascript,node.js,Javascript,Node.js,我正试图根据本地主机的URL更改文本颜色。首先我需要显示这个“Hello”,我错在哪里 var http = require('http'); var PORT = 80; var server = http.createServer(function(request, response){ response.end('<p>Hello World</p><p>Path requested: ' + request.url + '</p>

我正试图根据本地主机的URL更改文本颜色。首先我需要显示这个“Hello”,我错在哪里

var http = require('http');

var PORT = 80;

var server = http.createServer(function(request, response){
    response.end('<p>Hello World</p><p>Path requested: ' + request.url + '</p>');
})

server.listen(PORT,function(){
    console.log('Server listening on port ' + PORT)
});

server.get('/blue', function(request, response) {
    response.end('<p>Hello</p>');
});
var http=require('http');
var端口=80;
var server=http.createServer(函数(请求、响应){
response.end(“helloworld

请求路径:”+request.url+“

”); }) 侦听(端口,函数(){ console.log('服务器侦听端口'+端口) }); get('/blue',函数(请求、响应){ response.end(“Hello

”); });
首先,而不是

var server = http.createServer(function(request, response){
    response.end('<p>Hello World</p><p>Path requested: ' + request.url + '</p>');
})
var server=http.createServer(函数(请求、响应){
response.end(“helloworld

请求路径:”+request.url+“

”); })
…为了处理路由,请尝试

var server = http.createServer(function(request, response){
    var color = 'black';
    if (request.url === '/blue') {
        color = 'blue';
    } else if (request.url === '/red') {
        color = 'red';
    }
    response.end('<p style="color:' + color + ';">Hello World</p><p>Path requested: ' + request.url + '</p>');
})
var server=http.createServer(函数(请求、响应){
var color='黑色';
如果(request.url=='/blue'){
颜色=‘蓝色’;
}else if(request.url==='/red'){
颜色=红色;
}
response.end(“

“>Hello World

请求的路径:“+request.url+”

”); })

第二个,您必须摆脱
服务器。获取
调用,因为节点不提供那种开箱即用的路由。

您只需要解析请求URL:

var server = http.createServer(function (req, res) {
    if (req.url.toLowerCase() === '/blue' || req.url.toLowerCase() === '/blue/') {
        res.end('<p style="color: blue">you put the color blue</p>');
    }
    else {
        res.end('<p>you did not put blue</p>');
    }
});
var server=http.createServer(函数(req,res){
if(req.url.toLowerCase()=='/blue'| | req.url.toLowerCase()=='/blue/'){
res.end(“

您将颜色设置为蓝色”

”; } 否则{ res.end(“你没有放蓝色的”

”); } });
如果不使用中间件(比如,这非常棒),您将不得不使用HTTP请求来解析和消费请求,以便根据请求的性质采取行动


注意:我高度推荐express,它使许多HTTP内容变得更加简单

对于
httpServer
类没有
get()
方法。您应该研究express的有效路由功能。哦,对了,我只是想让这个小功能正常工作,而不使用任何其他框架,然后是Node。你能推荐怎么做吗?绝对同意@ThomasStringer。如果你计划做的不仅仅是这个基本的例子,像Express这样的框架会让你的生活变得更加轻松。哇,谢谢!明白了:)我第一次尝试过类似的东西,但我一定是在什么地方搞砸了。再次感谢。