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一个下划线)