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.url
oureq.params.listRoute
para 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/:listRoute
portanto, 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/contact
ou/login
ou/logout
. Todos estão em conflito com/:listRoute
.