Jak dodać favicon.ico w express.js?

0

Cześć.
Zauważyłem że przeglądarka prosi mnie o podanie favicon.ico.
Nie mam w zwyczaju ghostować nikogo więc postanowiłem odpowiedzieć :D :

import express from "express";

const faviconURL = new URL('favicon.ico', import.meta.url)
const server = express()

server.get('/content/:id', (req, res)=> {
    res.json({firstname: req.params.id})
})
server.get('/favicon.ico', (req, res)=> {
    res.sendFile(faviconURL)
})
server.listen(1236, '127.0.0.1')

Niestety w przeglądarce widzę że zapytanie pozostało bez odpowiedzi.
Jak mogę to zrobić poprawnie?

0

Spróbowałbym czegoś takiego

app.use('/favicon.ico', express.static('images/favicon.ico')); // Możesz podać ścieżkę relatywną lub absolutną

https://expressjs.com/en/starter/static-files.html

Metoda static służy do serwowania statycznych plików, takich jak zdjęcia lub pliki html / css / js.

0

Po dodaniu:

import express from "express";

const server = express()

server.use('/favicon.ico', express.static('./favicon.ico'))

server.get('/:id', (req, res)=> {
    res.json({firstname: req.params.id})
})
server.listen(1236, '127.0.0.1')

Serwer dalej nie odpowiada na prośbę o favicon.

0

Oba pliki znajdują się dokładnie w tym samym katalogu? Bo tak ciężko mi zgadnąć przyczynę jeśli nie znam struktury projektu.

https://stackoverflow.com/questions/5924072/express-js-cant-get-my-static-files-why

0

Jedyny sposób jaki znalazłem żeby wyświetlić favicon to użycie html:

import express from 'express';
import * as url from 'url';

const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
const server = express();

const htmlFile = `
<html>
<head>
<link href='assets/style.css' type='text/css' rel='stylesheet'/>
<link rel="icon" type="image/x-icon" href="/assets/favicon.ico">
</head>
    <body>
        <p>To jest stronka!</p>
    </body>
</html>
`

server.use('/assets', express.static(__dirname + '/assets'))

server.get('/', (req, res) => {
    res.send(htmlFile)
});

server.listen(1236, 'localhost')

1 użytkowników online, w tym zalogowanych: 0, gości: 1