Express 静态中间件自动提供 index.html

pat*_*u22 5 node.js express

我对 NodeJS 不是很熟悉,并开始使用它和 Express。现在我得到以下内容:我想提供一个 index.html 文件,但在此之前做一些其他的事情。但是由于我使用的app.use(express.static(__dirname + '/client/public'));是浏览器请求,因此不会影响该app.get("/")功能。我该如何解决这个问题?

app.use(express.static(__dirname + '/client/src/css'));
app.use(express.static(__dirname + '/client/public'));

app.get('/', function (req, res) {
    console.log('###GET REQUEST received');
    console.log(req);
    res.sendFile(__dirname + '/index.html'); 
});
Run Code Online (Sandbox Code Playgroud)

先感谢您!

Pau*_*aul 7

订单很重要。将您的 app.get 路由放在 Express.static 声明之前。


Кон*_*Ван 5

或者,禁用索引。

express.static(path, {index: false})
Run Code Online (Sandbox Code Playgroud)

index: 发送指定目录索引文件;设置为false禁用目录索引。

来自https://expressjs.com/en/4x/api.html#express.static