Node.js __dirname未定义

时间:2013-09-01 08:28:50

标签: javascript node.js

我的目录如下所示:

  

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

运行server.js会出错:

  

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

我的服务器.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-------------------

3 个答案:

答案 0 :(得分:31)

您正在使用一个下划线,而此变量实际上在开头有两个下划线: http://nodejs.org/docs/latest/api/globals.html#globals_dirname

所以使用

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

而不是

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

使用URLUpdateInfo代替__dirname(您的代码中缺少一个下划线)。