Когда вы используете
app.use('/', express.static("./public"));
Есть две вещи, которые происходят.
1) .use
в основном используется для добавления промежуточного программного обеспечения ко всем запросам, соответствующим пути.Или, если путь не указан, он будет использоваться для ВСЕХ маршрутов.
FYI: запрос проходит через все промежуточное программное обеспечение в соответствии с позицией их объявления.Например:
app.use(mid1);
app.use(mid2);
означает, что запрос будет проходить через mid1 , затем mid2 , затем маршрут , обработчик .
2) Путем .use
ing static
с /
означает, что каждый маршрут /*
будет проходить через промежуточное ПО express.static
и попытаться найти файл в папке public
.Если он не найден, вы получите 404 и не перейдете к следующему промежуточному программному обеспечению.Если он найден, он направит файл, используя stream.pipe(res)
Итак, используя express.static
после вашего промежуточного ПО, вы говорите: сначала пройдите мое промежуточное ПО, затем найдите в папке ./public
.
Что вы можете сделать, так это запустить промежуточное программное обеспечение и использовать определенный маршрут для статического промежуточного программного обеспечения.