Discuss / JavaScript / 作业

作业

Topic source
//默认的路径
var defaultPath =['index.html',"default.html"];
//获得当前路径
var workDir =path.resolve('.')
//组合成完整的一个路径
var filePath = path.join(workDir, 'pub', 'index.html');
var root =path.resolve(process.argv[2]||'.');
//创建server;
var server = http.createServer(function(request,respose){
      //处理request ; 
      var pathname =url.parse(request.url).pathname ;
      //读取完成的请求路径
      var filepath = path.join(root,pathname) ;
      //defaultPath;
      //判断文件
      fs.stat(filepath,function(err,stats){
        //文件存在的情况下
        if(!err ){
          if(stats.isDirectory()){
                  //读取子文件   
                  fs.readdir(filepath,function(err,files){
                    var result =false ;
                    for (var  x of defaultPath){
                      if(files.indexOf(x)!=-1){
                        result =true ;
                        success(path.join(filepath,x),request,respose); 
                        break 
                      }
                    }
                    if(!result){
                      print('404'+request.url)
                      respose.writeHead(404);
                      respose.end('<h1>404 NOT FOUND</h1>');
                    }
                  })
          }else{
            success(filepath,request,respose);
          }
        }else{
             print('404'+request.url)
             respose.writeHead(404);
             respose.end('<h1>404 NOT FOUND</h1>');
        }
      })
})
server.listen('8080')
function success(filepath,request ,respose){
  print('Response:200'+request.url) ;
  //填写正确
  respose.writeHead('200') 
  fs.createReadStream(filepath).pipe(respose)    
}

  • 1

Reply