Итак, я использую node.js для обслуживания экспресс-веб-сервера.
Я могу поймать https://my.site.com/information:
express.use('/information',function(req,res) {
})
но я не могу поймать https://my.site.com/information.html вот так:
express.get('/information.html',function(req,res) {
// not working
})
Как я могу получить одна уловка для получения информации AND information.html - возможно, используя регулярное выражение или что-то в этом роде .. Я невежественен.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я думаю, вы можете использовать встроенную функцию res.sendFile() и объединить ее с req.baseUrl для этого.
Что-то вроде этого должно работать:
express.use('/information', function(req, res) {
res.sendFile(path.join(__dirname + req.baseUrl + '.html'));
});
@ jonas00, на самом деле это зависит от того, что именно вам нужно получить в ответ. Не могли бы вы описать, что вы хотите сделать и какие именно данные вам нужны?
@ jonas00 извини, что неправильно понял, что Тебе нужно делать :) Ответ Квентина просто идеален.
Посмотрите на документация для get:
The path for which the middleware function is invoked; can be any of:
- A string representing a path.
- A path pattern.
- A regular expression pattern to match paths.
- An array of combinations of any of the above.
Итак, вы можете предоставить для этого регулярное выражение:
app.get(//information(?:\.html)?$/, (req, res) => res.send('Hello World!'))
Как уже упоминалось, если есть файл information.html, он не будет перехвачен. Не работает.