Node.js __dirname не определено
Мой каталог выглядит следующим образом:
/config.json,/server.js,/staticFiles/welcome.html
Запуск server.js дает ошибку:
app.use(express.static(_dirname + "/staticFiles" )); ^ ReferenceError: _dirname не определено
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-------------------
Ответы
Ответ 1
Вы используете одно подчеркивание, в то время как эта переменная фактически имеет два подчеркивания в начале: http://nodejs.org/docs/latest/api/globals.html#globals_dirname
Так что используйте
app.use(express.static(__dirname + "/staticFiles"));
вместо
app.use(express.static(_dirname + "/staticFiles"));
Ответ 2
используйте __dirname вместо _dirname (Отсутствует одно подчеркивание в коде)
Ответ 3
Используйте __dirname
вместо _dirname
(в вашем коде отсутствует одно подчеркивание).