Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Node.js __dirname not defined

My directory look like this:

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

Running server.js gives error:

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

My 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-------------------
like image 532
ManishS Avatar asked Sep 01 '13 08:09

ManishS


1 Answers

You are using one underscore while this variable actually has two underscores at the beginning: http://nodejs.org/docs/latest/api/globals.html#globals_dirname

So use

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

instead of

app.use(express.static(_dirname + "/staticFiles"));
like image 68
Didatus Avatar answered Oct 13 '22 00:10

Didatus