Она сводится к следующему:
- Если запрашиваемый путь является то, что ваш фавиконки, служить ему.
- В противном случае сделайте все, что вы делаете, с запросами.
Если вы не измените путь к фавиконки в HTML-документе, браузеры (обычно) сделать запрос на /favicon.ico
пути для того, чтобы получить фавиконки вашего сервера.
Это означает, что обслуживание вашего значка на /favicon.ico
достаточно часто.
Предполагая, что ваш Favicon находится в ./public/favicon.ico
, и будет подан на /favicon.ico
пути на вашем сервере, вы можете сделать что-то вроде этого:
var http = require('http');
var path = require('path');
var fs = require('fs');
var url = require('url');
var server = http.createServer();
// Location of your favicon in the filesystem.
var FAVICON = path.join(__dirname, 'public', 'favicon.ico');
var server = http.createServer(function(req, res) {
var pathname = url.parse(req.url).pathname;
// If this request is asking for our favicon, respond with it.
if (req.method === 'GET' && pathname === '/favicon.ico') {
// MIME type of your favicon.
//
// .ico = 'image/x-icon' or 'image/vnd.microsoft.icon'
// .png = 'image/png'
// .jpg = 'image/jpeg'
// .jpeg = 'image/jpeg'
res.setHeader('Content-Type', 'image/x-icon');
// Serve your favicon and finish response.
//
// You don't need to call `.end()` yourself because
// `pipe` will do it automatically.
fs.createReadStream(FAVICON).pipe(res);
return;
}
// This request was not asking for our favicon,
// so you can handle it like any other request.
res.end();
});
// Listen on port 3000.
//
// This line is not relevant to this answer, but
// it would feel incomplete otherwise.
server.listen(3000);
Вы должны уточнить ваш вопрос. Что вы подразумеваете под «настройкой значка»? Для меня это означает «служение», и, видимо, @noisypixy думал то же самое. –
Если это не «служение» значка, то я подозреваю, что он больше связан со стороной HTML. – noisypixy
@philippe_b «Обслуживание» значка означает, что вы показываете его в теле HTML-страницы. «Настройка» значка означает отображение значка в левой части вкладки, куда идет значок. – baranskistad