我刚刚开始学习Node.js,但我坚持尝试为静态资源设置中间件。尝试执行此操作时,我只是在我的IDE中不断收到“ __ dirname not defined” 错误。尽管命令行中未显示任何错误,但我知道它不起作用,因为我的网站仍然显示“无法获取/” 。我也知道IDE可以识别“ __dirname”,因为当我console.log(__ dirname)时,它会在命令行中显示目录。但是由于某种原因,它无法与“ app.use”功能一起使用。
var express = require('express');
var bodyParser = require('body-parser');
var path = require('path');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
/*this won't work*/
app.use(express.static(path.join(__dirname,'public')));
app.listen(3000, function() {
console.log(__dirname);
})
我也尝试过
app.use(express.static(__dirname + '/public'));
,这也不起作用。