【发布时间】:2015-10-29 08:15:48
【问题描述】:
我遵循了本教程 (http://www.hongkiat.com/blog/node-js-server-side-javascript/),当运行倒数第二个脚本(用于创建静态服务器)时,命令提示符显示“服务器在端口 8080 上运行”,但是当尝试在 localhost:8080 访问它时,我只是得到一个网页不可用的错误。
我在防火墙中制定了一个规则,也允许访问 8080。
这可能是什么原因造成的?我应该尝试从其他地址访问该页面吗?
当我尝试访问该页面时,我在 cmd 中收到以下错误消息:
C:\Users\id122302\Documents\test.js:11
path.exists(full_path,function(exists)
^
TypeError: undefined is not a function
at Server.<anonymous> (C:\Users\id122302\Documents\test.js:11:7)
at Server.emit (events.js:110:17)
at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:491:12)
at HTTPParser.parserOnHeadersComplete (_http_common.js:111:23)
at Socket.socketOnData (_http_server.js:343:22)
at Socket.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:163:16)
at Socket.Readable.push (_stream_readable.js:126:10)
at TCP.onread (net.js:538:20)
这是我的代码:
var sys = require("sys");
my_http = require("http");
path = require("path");
url = require("url");
filesys = require("fs");
//Create Server
my_http.createServer(function(request,response)
{
var my_path = url.parse(request.url).pathname;
var full_path = path.join(process.cwd(),my_path);
path.exists(full_path,function(exists)
{
if (!exists)
{
response.writeHeader(404, {"Content-Type":"text/plain"});
response.write("404 Not Found\n");
response.end();
}
else
{
filesys.readFile(full_path, "binary", function(err,file)
{
if (err)
{
response.writeHeader(500,{"Content-Type":"text/plain"});
response.write(err + "\n");
response.end();
}
else
{
response.writeHeader(200);
response.write(file,"binary");
response.end();
}
});
}
});
}).listen(8080);
console.log("Server Running on 8080");
【问题讨论】:
标签: javascript node.js localhost server port