【问题标题】:Node returning error - "route is not defined"节点返回错误 - “路由未定义”
【发布时间】:2017-02-16 19:12:39
【问题描述】:

我是 node 的新手,只是通过我找到的教程运行。我按编写的代码打孔,据我了解,这应该是从路由器文件中导入路由功能。但是,服务器在尝试加载页面时遇到错误,返回标题中的错误。

这是我的代码:

// index.js; my main file I run through cmd
var server = require("./server");
var router = require("./router")

server.start(router.route);

// router.js; the route function is stored here
function route(pathname) {
    console.log("About to rout request for " + pathname);
}

exports.route = route;

// server.js; the meat
var http = require("http");
var url = require("url");

function start() {
    function onRequest(request, response) {
        var pathname = url.parse(request.url).pathname;
        console.log("Request for " + pathname + " 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;

当我问的时候,谁能解释一下 server.start(router.route) 行是如何工作的?我以为 start 函数没有参数。

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    当我问的时候,谁能解释一下 server.start(router.route) 行是如何工作的?我以为 start 函数没有参数。

    ^ 这就是它不起作用的原因。

    route 在启动函数中未定义。将启动函数更改为:

    function start(route) { ...

    【讨论】:

    • 这样就行了!谢谢。同样,我只是按照教程进行操作,所以我很新,但这是唯一的方法吗?不能根据需要直接在start函数中导入路由吗?
    猜你喜欢
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 2017-11-23
    • 2018-06-27
    • 2019-01-15
    • 2021-05-01
    相关资源
    最近更新 更多