SyntaxError:意外的令牌功能

时间:2017-07-03 12:20:20

标签: javascript node.js

通过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);
        }
       });
    }
}

1 个答案:

答案 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);

}

然后您的错误将被驳回。