通过Node运行聊天应用程序,并在运行server.js时出现以下错误: function serveStatic(response,cache,absPath) ^^^^^^^^ SyntaxError:意外的令牌功能 at Object.exports.runInThisContext(vm.js:73:16) 在Module._compile(module.js:543:28) at Object.Module._extensions..js(module.js:580:10) 在Module.load(module.js:488:32) 在tryModuleLoad(module.js:447:12) 在Function.Module._load(module.js:439:3) 在Module.runMain(module.js:605:10) 在运行时(bootstrap_node.js:418:7) 在启动时(bootstrap_node.js:139:9) 在bootstrap_node.js:533:3
这是Server.js代码:
var http=require('http');
var fs=require('fs');
var path=require('path');
var path= require('mime');
var cache={};
var server=http.createServer(function(request,response)
{
var filePath=false;
if(request.url=='/')
{
filePath= public/index.html;
}
else
{
'public' + request.url;
}
var absPath= './'+filePath;
serveStatic(response,cache,absPath);
});
server.listen(3000,function()
{
console.log('Server listening to the port :3000');
});
function send404 (response )
{
response.writeHead(404,{'Content-Type' :'text/plain'});
response.write('Error 404: resource not found');
response.end();
}
function sendFile(response,filePath,fileContents)
{
response.wrieHead(200,
{"content-type":mime.lookup(filePath)})
};
response.end(fileContents);
}
function serveStatic(response,cache,absPath)
{
if(cache[absPath])
{
sendFile(response,absPath,cache[absPath]);
}
else
{
if(fs.exists(absPath, function(exists)))
{
if(exists)
{
fs.readFile(absPath,function(err,data))
{
if(err)
{
send404(response);
}
else
{
cache[absPath]=data;
sendFile(response,absPath,data);
}
});
}
else
{
send404(response);
}
});
}
}
答案 0 :(得分:0)
这里有额外的括号:
function sendFile(response,filePath,fileContents)
{
response.wrieHead(200,
{"content-type":mime.lookup(filePath)})
};
response.end(fileContents);
}
应该这样修改:
function sendFile(response, filePath, fileContents)
{
response.wrieHead(200, {
"content-type": mime.lookup(filePath)
});
response.end(fileContents);
}
然后您的错误将被驳回。