Función setStatic en httpdispatcher

estoy construyendo un servidor en node.js pero no puedo entender la función de setStatic en httpdispatcher en este ejemplo que obtuve en la red …

var http = require('http'); var dispatcher = require('httpdispatcher'); //Lets define a port we want to listen to const PORT=8080; //We need a function which handles requests and send response function handleRequest(request, response){ //response.end('It Works(Refereshed)!! Path Hit: ' + request.url); try{ console.log(request.url); dispatcher.dispatch(request,response); }catch(err){console.log(err);} } //set all js/html/css as static during response dispatcher.setStatic('resources'); dispatcher.onGet("/page1",function(req,res){ res.writeHead(200,{'Content-Type':'text/plain'}); res.end("Page one"); }); dispatcher.onPost("/page2",function(req,res){ res.writeHead(200,{'Content-Type':'text/plain'}); res.end("Get Post Data"); }); //Create a server var server = http.createServer(handleRequest); //Lets start our server server.listen(PORT, function(){ //Callback triggered when server is successfully listening. Hurray! console.log("Server listening on: http://localhost:%s", PORT); }); 

pero cuando ejecuto este archivo y escribo url como http: // localhost: 8080 / resources / dwnl.png , obtengo lo siguiente en el terminal [TypeError: Los argumentos para path.join deben ser cadenas] y no aparece nada en el navegador, pero Tengo un dwnl.png en una carpeta de recursos

esta es la imagen

añadir la siguiente línea

 dispatcher.setStaticDirname(__dirname); 

antes de

 dispatcher.setStatic('resources'); 

y pruebe con http: // localhost: 8080 / resources / dwnl.png

Consulte Node.js no puede encontrar las funciones básicas. Esta respuesta explica que se debe crear una instancia de httpdispatcher antes de usar algo como:

 var httpdispatcher = require('httpdispatcher'); var dispatcher = new httpdispatcher(); 

de lo contrario, obtendrá TypeErrors en tiempo de ejecución porque el despachador no existe.