我是节点的新手,只是在我找到的教程中运行。我在编写的代码中打了一针,据我所知,应该从路由器文件中导入路由功能。但是,服务器在尝试加载返回标题中的错误的页面时遇到错误。
这是我的代码:
// 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)行是如何工作的吗?我认为启动功能没有参数。
答案 0 :(得分:2)
虽然我在问,有人可以解释一下server.start(router.route)行是如何工作的吗?我认为启动功能没有参数。
^这就是为什么它不起作用。
启动函数中未定义 route
。将开始功能更改为:
function start(route) { ...