【问题标题】:My node js server is not starting is my code wrong?我的节点 js 服务器没有启动是我的代码错误吗?
【发布时间】:2021-03-27 02:44:09
【问题描述】:
var http = require('http')

var courses = [{id : 1, name : 'JS'},{id : 2 , name : 'node'}]
var users =['userA','userB']

var server = http.createServer(function (request,response){

    console.log('got request!', request);

    if(request.url === '/api/courses') {
        response.write(JSON.stringify(courses));
        response.end
    }
    else if(request.url === '/api/users'){
        response.write(JSON.stringify(users));
        response.end
    }
    else{
        response.write('hello world :)');
        response.end
    }
})


server.listen(30232)

【问题讨论】:

  • 您在使用“node yourfile.js”时是否收到任何错误消息?

标签: javascript node.js reactjs localhost


【解决方案1】:

如果你想声明两个var,你必须在单独的行中声明或使用;。这段代码应该对你有用:

var http = require('http')

var courses = [{id : 1, name : 'JS'},{id : 2 , name : 'node'}]
var users =['userA','userB']

var server = http.createServer(function (request,response){

console.log('got request!', request);

if(request.url === '/api/courses') {
    response.write(JSON.stringify(courses));
    response.end
}
else if(request.url === '/api/users'){
    response.write(JSON.stringify(users));
    response.end
}
else{
    response.write('hello world :)');
    response.end
}

})

server.listen(30232)

【讨论】:

    【解决方案2】:

    你的代码问题很简单。

    var http = require("http");
    
    var courses = [
      { id: 1, name: "JS" },
      { id: 2, name: "node" },
    ];
    var users = ["userA", "userB"];
    
    var server = http.createServer(function (request, response) {
      console.log("got request!", request);
    
      if (request.url === "/api/courses") {
        response.write(JSON.stringify(courses));
        response.end();
      } else if (request.url === "/api/users") {
        response.write(JSON.stringify(users));
        response.end();
      } else {
        response.write("hello world :)");
        response.end();
      }
    });
    
    server.listen(30232);
    

    首先,最上面的两个变量声明不正确,必须用分号隔开,其次,在处理请求时,response.end()是一个函数,你没有把它当成函数使用,所以有问题。为response.end()添加括号,它必须可以正常工作。

    【讨论】:

    • 谢谢先生,但仍然没有在我的浏览器中呈现它返回对象但不在浏览器中呈现
    • 你能告诉我到底发生了什么或者上传一张图片吗?因为当我在浏览器中运行它时,主页运行正常。
    猜你喜欢
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多