Quando você visita um site (qualquer URL nesse site), um navegador normalmente também envia uma solicitação para o mesmo domínio para
/favicon.ico então veja se o site oferece um ícone para ser uma representação visual do site. Como você está usando uma rota de nível superior curinga:
app.get('/:listRoute', ...)
Isso será atingido pela solicitação de
/favicon.ico . Alguns outros URLs que você também pode precisar observar para serem solicitados são:/robots.txt , /humans.txt , /sitemap.xml , /ads.txt . Existem várias maneiras de contornar isso:
-
Sua rota curinga pode primeiro verificarreq.urloureq.params.listRoutepara ver se é algo que deve ignorar.
-
Você pode colocar outras rotas de nível superior que deseja manter fora de sua rota curinga em uma posição antes dessa rota para que não acabem nesta.
-
Não use uma rota curinga de nível superior. Em vez disso, use algo como/list/:listRouteportanto, não corresponderá automaticamente a nenhuma solicitação http de nível superior. Seu uso de uma rota curinga de nível superior interfere em outros usos futuros do seu site e pode criar compatibilidade com versões anteriores quando você quiser adicionar outras rotas de nível superior ao seu site. Imagine se em algum momento no futuro você quiser adicionar/contactou/loginou/logout. Todos estão em conflito com/:listRoute.