2013-09-01 12 views
6

mio elenco simile a questa:Node.js non __dirname definito

/config.json , /server.js , /staticFiles/welcome.html

server.js esecuzione dà errore:

app.use(express.static(_dirname + "/staticFiles")); ^ ReferenceError: _dirname is not defined

mio Server.js:

//------------Server------------- 

var fs = require("fs"); 
var config = JSON.parse(fs.readFileSync("./config.json")); 

console.log("Server UP and running.."); 

var host = config.host; 
var port = config.port; 
var express = require("express"); 

var app = express.createServer(); 



//---------Application---------------- 

app.use(app.router); 
app.use(express.static(_dirname + "/staticFiles")); 

app.get("/", function(request,response){ 

response.send("<h1>"/" of TrimServer</h1>"); 

}); 

app.listen(port,host); 
console.log("Listening on Port -->",port); 


//--------------End------------------- 
+0

Una rapida ricerca ha trovato più corrispondenze per questo errore. https://groups.google.com/forum/m/#!msg/nodejs/K4vhAC5yXm4/qFfGK0WCgSYJ – WiredPrairie

risposta

23

Sei utilizzando un carattere di sottolineatura mentre questa variabile ha effettivamente due caratteri di sottolineatura all'inizio: http://nodejs.org/docs/latest/api/globals.html#globals_dirname

in modo da utilizzare

app.use(express.static(__dirname + "/staticFiles")); 

invece di

app.use(express.static(_dirname + "/staticFiles")); 
+0

@ Cromax Grazie .. – ManishS

+0

Grazie Cromax. @ManishS, puoi contrassegnarlo come la risposta corretta –

1

uso __dirname invece di _dirname (manca una sottolineatura nel codice)