我遵循了本教程(http://www.hongkiat.com/blog/node-js-server-side-javascript/),当运行倒数第二个脚本(用于创建静态服务器)时,命令提示符显示"服务器在端口8080"上运行,但在尝试时访问localhost:8080我只是得到一个网页不可用错误。
我在防火墙中制定了规则,允许访问8080。
可能导致这种情况的原因是什么?我应该尝试从其他地址访问该页面吗?
当我尝试访问该页面时,我在cmd中收到以下错误消息:
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");

这是我的代码:
Dim xmlDoc = New XmlDocument()
xmlDoc.Load("c:\inetpub\" & sServer & "\web.config")
Dim nsmgr As New XmlNamespaceManager(xmlDoc.NameTable)
nsmgr.AddNamespace("d", "http://schemas.microsoft.com/.NetConfiguration/v2.0")
......
......
xmlDoc.SelectSingleNode("//d:appSettings", nsmgr).AppendChild(nodeRegion)
xmlDoc.Save("c:\inetpub\" & sServer & "\web.config")

答案 0 :(得分:2)
您的服务器显示例外情况并且行号=>去那个地方!
正如@maniacnero所观察到的那样,API中没有path.exists
这样的东西。有一个fs.exists
但它已被弃用,以避免滥用节点的并发上下文。
可怕的情况是:
所以这里吸取的教训是:
如果你坚持这个学科,就不需要fs.exists
这样的事情。这是您的代码的修改版本:
var sys = require("sys");
var http = require("http");
var path = require("path");
var url = require("url");
var fs = require("fs");
var port = 8080;
http.createServer(function(request,response) {
var my_path = url.parse(request.url).pathname;
var full_path = path.join(process.cwd(),my_path);
fs.readFile(full_path, function(err, file) {
if (err) {
response.writeHeader(404, {"Content-Type":"text/plain"});
response.write("404 Not Found\n");
response.end();
} else {
response.writeHeader(200);
response.write(file);
response.end();
}
});
}).listen(port);
console.log("Server Running on " + port);
我还删除了那些“二元”的东西,这些东西过时了,也没有记录在API中!
使用示例代码是一种很好的学习方法,但前提是你不要盲目地做。 ;)特别是在一个弱类型语言的基础上,建立在快速变化的API上,并且无数的教程都是由初学者编写的。这是你的朋友:https://nodejs.org/api/