Node.js __dirname未定义

我的目录看起来像这样:

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

运行server.js给出错误:

app.use(express.static(_dirname +“/ staticFiles”)); ^ ReferenceError:_dirname未定义

我的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------------------- 

你正在使用一个下划线,而这个variables实际上有两个下划线在开始: http : //nodejs.org/docs/latest/api/globals.html#globals_dirname

所以使用

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

代替

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

使用__dirname而不是_dirname(在代码中缺less一个下划线)