J'ai récemment commencé à travailler dans Node.js et dans le fichier app.js, il y a cette ligne:
app.use(express.favicon());
Maintenant, comment configurer mon propre favicon.ico personnalisé?
javascript
node.js
express
favicon
Ilya Karnaukhov
la source
la source
app.use(express.favicon())
d'Express 4 donne: La plupart des middlewares (comme favicon) ne sont plus fournis avec Express et doivent être installés séparément. Veuillez consulter github.com/senchalabs/connect#middleware . Alternativement, vous pouvez fournir aucun favicon avec:app.get('/favicon.ico', (req, res) => res.status(200))
Express js prevent GET /favicon.icoRéponses:
Dans Express 4
Installez le middleware favicon puis faites:
Ou mieux, en utilisant le
path
module:(notez que cette solution fonctionnera également dans les applications express 3)
Dans Express 3
Selon l'API,
.favicon
accepte un paramètre d'emplacement:La plupart du temps, vous voudrez peut-être ceci (comme suggéré par vsync):
Ou mieux encore, utilisez le
path
module (comme Druska l'a suggéré):Pourquoi favicon est meilleur que statique
Selon la description du paquet :
ETag
basé sur le contenu de l'icône, plutôt que sur les propriétés du système de fichiers.Content-Type
.la source
path.join(__dirname, "public")
les chaînes sont concaténées sans séparateur? Plus l'échantillon est petit, plus vite nous pouvons résoudre ce problème (donc si vous pouvez simplement la jointure)Content-Type
. Vous pouvez voir ce qu'il fait ici . Pensez-vous qu'il y a intérêt à modifier cela dans la réponse?Aucun middlewares supplémentaires requis. Utilisez simplement:
la source
Content-Type
smiley favicon pour éviter les erreurs:
pour changer l'icône dans le code ci-dessus
créer une icône peut-être ici: http://www.favicon.cc/ ou ici: http://favicon-generator.org
convertissez-le en base64 peut-être ici: http://base64converter.com/
puis remplacez la valeur de base de l'icône 64
informations générales comment créer une icône fav personnalisée
les icônes sont faites à l'aide de photoshop ou inkscape, peut-être inkscape puis photoshop pour la vibration et la correction des couleurs (dans le menu image-> réglages).
pour une icône rapide, rendez-vous sur http://www.clker.com/ et choisissez des cliparts vectoriels et téléchargez-les au format svg. puis apportez-le à inkscape ( https://inkscape.org/ ) et changez les couleurs ou supprimez des pièces, ajoutez peut-être quelque chose à partir d'une autre image clipart vectorielle, puis pour exporter, sélectionnez les pièces à exporter et cliquez sur fichier> exporter, choisissez une taille comme 16x16 pour favicon ou 32x32. pour une modification ultérieure 128x128 ou 256x256. Le package ico peut contenir plusieurs tailles d'icônes. il peut avoir avec un favicon 16x16 pixels des icônes de haute qualité pour le lien vers le site Web.
alors peut-être améliorer l'image dans Photoshop. comme la vibrance, l'effet biseauté, le masque rond, n'importe quoi.
puis téléchargez cette image sur l'un des sites Web qui génèrent des favicons. il existe également des programmes pour Windows pour éditer des icônes comme https://sourceforge.net/projects/variicons/ .
pour ajouter le favicon au site Web. mettez simplement le favicon.ico sous forme de fichier dans le dossier racine du domaine. par exemple dans node.js dans le dossier public qui contient les fichiers statiques. il ne doit pas s'agir de quelque chose de spécial comme du code au-dessus d'un simple fichier.
la source
Pas besoin de middleware personnalisé?! En express:
Ensuite, mettez votre favicon en public et ajoutez la ligne suivante dans la tête de votre html:
la source
Je l'ai fait fonctionner localement sans le
__dirname +
mais je n'ai pas pu le faire fonctionner sur mon serveur déployé.la source
app.use(express.favicon('./public/images/favicon.ico'));
Si vous utilisez Express> 4.0, vous pouvez opter pour serve-favicon
la source
Si vous avez défini un chemin statique, utilisez simplement le
<link rel="icon" href="https://stackoverflow.com/images/favicon.ico" type="image/x-icon">
dans vos vues. Pas besoin d'autre chose. Veuillez vous assurer que vous avez votre dossier images dans le dossier public.la source
127.0.0.1
plutôt quelocalhost
dans Google Chrome pendant que vous développez, pour une raison qui a résolu le problème pour moi.Installez le
express-favicon
middleware:Utilisez-le comme ceci:
la source
Vous devez installer un middleware pour servir le favicon.
J'ai essayé ceci tout à l'heure:
et j'ai récupéré ce message d'erreur:
Je pense que nous pouvons considérer cela comme définitif.
la source
Le code ci-dessous fonctionne:
Assurez-vous simplement d'actualiser votre navigateur ou de vider votre cache.
la source
étape 0: ajoutez le code ci-dessous à app.js ou index.js
app.use("/favicon.ico", express.static('public/favicon.ico'));
étape 1: téléchargez l'icône ici https://icons8.com/ ou créez votre propre
étape 2: allez sur https://www.favicongenerator.com/
étape 3 : téléchargez le fichier icon.png téléchargé> définissez 16px> créez un favicon> téléchargez
étape 4: allez dans le dossier des téléchargements, vous trouverez [fichier .ico], renommez-le en favicon.ico
étape 5: copiez favicon.ico dans le répertoire public vous avez créé l'
étape 6: ajoutez le code ci-dessous à votre fichier .pug sous la balise head, sous la balise title
étape 7: enregistrer> redémarrer le serveur> fermer le navigateur> rouvrir le navigateur> le favicon apparaît
REMARQUE: vous pouvez utiliser un nom autre que le favicon,
mais assurez-vous de changer le nom dans le code et dans le dossier public.
la source
Dans app.js:
En supposant que l'icône réside dans "/public/images/favicon.ico", ajoutez le lien suivant dans la tête de html:
Cela a bien fonctionné dans un projet généré automatiquement avec la commande:
la source
Si vous voulez une solution qui n'implique pas de fichiers externes et n'utilise pas
express.static
(par exemple, un serveur Web et un site ultra-légers à un fichier), vous pouvez utiliserserve-favicon
et encoder votrefavicon.ico
fichier en Base64. Comme ça:Remplacez
IMAGE_AS_BASE64_STRING_GOES_HERE
par le résultat de l'encodage de votre fichier favicon en Base64. Il existe de nombreux sites qui peuvent faire cela en ligne, faire une recherche.Notez que vous devrez peut-être redémarrer le serveur et / ou le navigateur pour le voir fonctionner
localhost
, et une actualisation / effacer le cache du navigateur pour le voir fonctionner sur le Web.la source