Recentemente, comecei a trabalhar no Node.js e no arquivo app.js existe esta linha:
app.use(express.favicon());
Agora, como configuro meu próprio favicon.ico personalizado?
javascript
node.js
express
favicon
Ilya Karnaukhov
fonte
fonte
app.use(express.favicon())
do Express 4 fornece: A maioria dos middlewares (como o favicon) não é mais fornecida com o Express e deve ser instalada separadamente. Por favor, consulte github.com/senchalabs/connect#middleware . Como alternativa, você não pode fornecer nenhum favicon com:app.get('/favicon.ico', (req, res) => res.status(200))
Express js impedir GET /favicon.icoRespostas:
No Express 4
Instale o middleware favicon e faça:
Ou melhor, usando o
path
módulo:(observe que esta solução também funcionará em 3 aplicativos expressos)
No Express 3
De acordo com a API,
.favicon
aceita um parâmetro de localização:Na maioria das vezes, você pode querer isso (como sugerido pelo vsync):
Ou melhor ainda, use o
path
módulo (como Druska sugeriu):Por que o favicon é melhor que estático
De acordo com a descrição do pacote :
ETag
base no conteúdo do ícone, em vez das propriedades do sistema de arquivos.Content-Type
.fonte
path.join(__dirname, "public")
resulta nas seqüências concatenadas sem um separador? Quanto menor a amostra, mais rapidamente podemos corrigir isso (por isso, se você puder agradar apenas a parte de junção).Content-Type
. Você pode ver o que faz aqui . Você acha que há mérito em editar isso na resposta?Nenhum middleware extra é necessário. Apenas use:
fonte
Content-Type
smiley favicon para evitar erros:
para mudar o ícone no código acima
faça um ícone talvez aqui: http://www.favicon.cc/ ou aqui: http://favicon-generator.org
convertê-lo para base64 talvez aqui: http://base64converter.com/
substitua o valor da base 64 do ícone
informações gerais sobre como criar um ícone fav personalizado
os ícones são criados usando o photoshop ou o inkscape, talvez o inkscape e o photoshop para correção de cores e vibrações (no menu imagem-> ajustes).
para obter um ícone rápido, vá para http://www.clker.com/, escolha algumas Clip Art e faça o download como svg. depois leve-o para o inkscape ( https://inkscape.org/ ) e altere cores ou exclua peças, talvez adicione algo de outra imagem de clipart vetorial e, em seguida, para exportar, selecione as peças a serem exportadas e clique em arquivo> exportar, escolha o tamanho 16x16 para favicon ou 32x32. para editar ainda mais 128x128 ou 256x256. O pacote ico pode ter vários tamanhos de ícones dentro. ele pode ter, juntamente com o favicon de 16x16 pixels, ícones de alta qualidade para o link do site.
então talvez melhore a imagem no photoshop. como vibração, efeito chanfrado, máscara redonda, qualquer coisa.
faça o upload desta imagem para um dos sites que geram favicons. também existem programas para janelas para editar ícones como https://sourceforge.net/projects/variicons/ .
para adicionar o favicon ao site. basta colocar o favicon.ico como um arquivo na pasta raiz do domínio. por exemplo, em node.js na pasta pública que contém os arquivos estáticos. não precisa ser nada de especial como o código acima, apenas um arquivo simples.
fonte
Não há necessidade de middleware personalizado ?! Em expresso:
Em seguida, coloque seu favicon em público e adicione a seguinte linha na cabeça do seu html:
fonte
Eu estava trabalhando localmente sem o
__dirname +
mas não consegui fazê-lo funcionar no meu servidor implantado.fonte
app.use(express.favicon('./public/images/favicon.ico'));
Se você estiver usando o Express> 4.0, poderá usar o serve-favicon
fonte
Se você definiu o caminho estático, use o
<link rel="icon" href="https://stackoverflow.com/images/favicon.ico" type="image/x-icon">
em suas visualizações. Não há necessidade de mais nada. Verifique se você tem sua pasta de imagens dentro da pasta pública.fonte
127.0.0.1
vez delocalhost
o desenvolver durante o desenvolvimento, por algum motivo que o corrigiu para mim.Instale o
express-favicon
middleware:Use-o assim:
fonte
Você deve instalar o middleware para servir o favicon.
Eu tentei isso agora:
e recebi esta mensagem de erro de volta:
Acho que podemos considerar isso definitivo.
fonte
O código listado abaixo funciona:
Apenas atualize seu navegador ou limpe seu cache.
fonte
etapa 0: adicione o código abaixo a app.js ou index.js
app.use("/favicon.ico", express.static('public/favicon.ico'));
etapa 1: faça o download do ícone aqui https://icons8.com/ ou crie sua própria
etapa 2: vá para https://www.favicongenerator.com/
etapa 3 : faça o upload do arquivo icon.png baixado> defina 16px> crie favicon> faça o download da
etapa 4: vá para a pasta de downloads, você encontrará [arquivo .ico], renomeie-o como favicon.ico
etapa 5: copie o favicon.ico no diretório público você criou a
etapa 6: adicione o código abaixo ao seu arquivo .pug na tag head, abaixo da tag title
etapa 7: salvar> reiniciar o servidor> fechar o navegador> reabrir o navegador> o favicon aparece
NOTA: você pode usar um nome que não seja o favicon,
mas certifique-se de alterar o nome no código e na pasta pública.
fonte
No app.js:
Supondo que o ícone resida em "/public/images/favicon.ico", adicione o próximo link na cabeça do html:
Isso funcionou bem em um projeto gerado automaticamente com o comando:
fonte
Se você deseja uma solução que não envolva arquivos externos e não use
express.static
(por exemplo, um servidor e site super leves de um arquivo), é possível usarserve-favicon
e codificar ofavicon.ico
arquivo como Base64. Como isso:Substitua
IMAGE_AS_BASE64_STRING_GOES_HERE
pelo resultado da codificação do seu arquivo favicon como Base64. Existem muitos sites que podem fazer isso online, faça uma pesquisa.Observe que pode ser necessário reiniciar o servidor e / ou o navegador para vê-lo funcionar
localhost
, e um cache de atualização / limpeza clara do navegador para vê-lo funcionando na web.fonte