繁体   English   中英

路由器未定义Node.js

[英]Router is not defined Node.js

我是Node.js的新手,我正在尝试创建一个HTTP服务器,但出于某种原因,当我尝试将路由器用于购买URL请求时,它不起作用。

我的代码:

Server.js

var url = require("url");
var http = require("http"); 


function start() {
function onRequest(request, response) { 
    var pathname = url.parse(request.url).pathname; 
    console.log("Request received.");       

    route(pathname);

    response.writeHead(200, {"Content-Type" : "text/plain"});
    response.write("Hello World");
    response.end();
}

http.createServer(onRequest).listen(8888);
console.log("Server has started;");
}

exports.start = start;

Index.js

var server = require("./server");
var router = require("./router");

server.start(router.route);

Router.js

function route(pathname) {
    console.log("About to route a request for " + pathname);
}

exports.route = route;

尝试通过Node.js启动服务器时,它会显示以下错误:

路线未定义

路线(路径);

我怎样才能做到这一点?

您将route传递给start函数但未定义参数,您需要添加一个参数。

function start(route) {
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;
        console.log("Request received.");

        route(pathname);

        response.writeHead(200, {
            "Content-Type": "text/plain"
        });
        response.write("Hello World");
        response.end();
    }

    http.createServer(onRequest).listen(8888);
    console.log("Server has started;");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM