2013-09-01 4 views
6

私のディレクトリは次のようになり定義されていない__dirname:のNode.jsは

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

はserver.jsを実行していますエラー:

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

マイ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

クイック検索は、このエラーのために複数の一致を見つけ

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

を使用しています。 https://groups.google.com/forum/m/#!msg/nodejs/K4vhAC5yXm4/qFfGK0WCgSYJ – WiredPrairie

答えて

23

1つのアンダースコアを使用しますが、この変数は実際に最初に2つのアンダースコアを持っています。 http://nodejs.org/docs/latest/api/globals.html#globals_dirname

だから、(あなたのコード内の1つのアンダースコアが表示されない)の代わりに_dirnameの代わりに

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

@ Cromaxありがとう.. – ManishS

+0

ありがとうCromax。 @ManishS、正しい答えとしてマークすることができます –

1

使用__dirname