13

我的目录如下所示:

/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-------------------
4

3 回答 3

39

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

所以使用

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

代替

app.use(express.static(_dirname + "/staticFiles"));
于 2013-09-01T08:49:18.027 回答
1

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

于 2017-01-23T07:38:53.257 回答
0

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

于 2019-07-16T10:48:09.343 回答