Я недавно начал работать в Node.js и в файле app.js есть эта строка:
app.use(express.favicon());
Теперь, как мне настроить свой собственный favicon.ico?
javascript
node.js
express
favicon
Илья Карнаухов
источник
источник
app.use(express.favicon())
в Express 4 дает: Большинство промежуточного программного обеспечения (например, favicon) больше не связано с Express и должно быть установлено отдельно. Пожалуйста, смотрите github.com/senchalabs/connect#middleware . В качестве альтернативы, вы не можетеapp.get('/favicon.ico', (req, res) => res.status(200))
указыватьОтветы:
В Экспресс 4
Установите промежуточное ПО favicon и выполните:
Или лучше, используя
path
модуль:(обратите внимание, что это решение будет работать и в приложениях Express 3)
В Экспресс 3
Согласно API,
.favicon
принимает параметр местоположения:В большинстве случаев вы можете захотеть это (как предложил vsync):
Или, еще лучше, используйте
path
модуль (как предложил Druska):Почему favicon лучше, чем статичный
Согласно описанию пакета :
ETag
основанную на значке, а не на свойствах файловой системы.Content-Type
.источник
path.join(__dirname, "public")
приводит к конкатенации строк без разделителя? Чем меньше образец, тем быстрее мы сможем это исправить (так что, если вы можете, пожалуйста, просто часть соединения).Content-Type
. Вы можете увидеть, что он делает здесь . Как вы думаете, есть смысл редактировать это в ответ?Никаких дополнительных промежуточных программ не требуется. Просто используйте:
источник
Content-Type
смайлик favicon для предотвращения ошибки:
изменить значок в коде выше
сделать иконку можно здесь: http://www.favicon.cc/ или здесь: http://favicon-generator.org
преобразовать его в base64 возможно здесь: http://base64converter.com/
затем замените значение значка базы 64
общая информация о том, как создать персонализированный значок избранного
иконки создаются с помощью Photoshop или Inkscape, может быть Inkscape, а затем Photoshop для вибрации и коррекции цвета (в меню Image-> Adjustments).
для быстрой иконки перейдите по ссылке http://www.clker.com/ и выберите несколько графических изображений, и загрузите как svg. затем перенесите его в inkscape ( https://inkscape.org/ ) и измените цвета или удалите детали, возможно, добавьте что-нибудь из другого векторного изображения, затем для экспорта выберите детали для экспорта и нажмите «Файл»> «Экспорт», выберите размер, например, 16x16 для favicon или 32x32. для дальнейшего редактирования 128x128 или 256x256. Пакет ico может иметь несколько размеров иконок внутри. он может иметь наряду с 16x16 пикселем favicon высококачественные иконки для ссылки на сайт.
тогда возможно улучшить изображение в фотошопе. как вибрация, эффект скоса, круглая маска, что угодно.
затем загрузите это изображение на один из веб-сайтов, которые генерируют иконки. Есть также программы для окон для редактирования иконок, такие как https://sourceforge.net/projects/variicons/ .
добавить значок сайта. просто поместите favicon.ico как файл в корневую папку домена. например, в файле node.js в общей папке, содержащей статические файлы. это не должно быть что-то особенное, например, код выше простого файла.
источник
Нет необходимости в специальном промежуточном программном обеспечении ?! В экспрессе:
Затем поместите ваш значок в публичный доступ и добавьте следующую строку в заголовок вашего HTML:
источник
У меня он работал локально без,
__dirname +
но не мог заставить его работать на моем развернутом сервере.источник
app.use(express.favicon('./public/images/favicon.ico'));
Если вы используете Express> 4.0, вы можете перейти на serve-favicon
источник
Если у вас установлен статический путь, просто используйте его
<link rel="icon" href="https://stackoverflow.com/images/favicon.ico" type="image/x-icon">
в своих представлениях. Больше ничего не нужно. Пожалуйста, убедитесь, что у вас есть папка с изображениями в общей папке.источник
127.0.0.1
вместоlocalhost
Google Chrome во время разработки, по какой-то причине, что исправило это для меня.Установите
express-favicon
промежуточное ПО:Используйте это так:
источник
Вы должны установить промежуточное программное обеспечение для обслуживания значка.
Я попробовал это только сейчас:
и получил это сообщение об ошибке обратно:
Я думаю, что мы можем принять это как окончательное.
источник
Код, указанный ниже, работает:
Просто не забудьте обновить браузер или очистить кеш.
источник
шаг 0: добавьте приведенный ниже код в app.js или index.js
app.use("/favicon.ico", express.static('public/favicon.ico'));
шаг 1: загрузите значок отсюда https://icons8.com/ или создайте свой собственный
шаг 2: перейдите на https://www.favicongenerator.com/
шаг 3 : загрузить загруженный файл icon.png> установить 16px> создать favicon> скачать
шаг 4: перейдите в папку загрузок, вы найдете [.ico file], переименуйте его в favicon.ico,
шаг 5: скопируйте favicon.ico в публичный каталог Вы создали
шаг 6: добавьте приведенный ниже код в свой файл .pug под заголовком head, под заголовком title
шаг 7: сохранить> перезапустить сервер> закрыть браузер> снова открыть браузер> появится значок «
Примечание»: вы можете использовать имя, отличное от favicon,
но не забудьте изменить имя в коде и в общей папке.
источник
В app.js:
Предполагая, что значок находится в "/public/images/favicon.ico", добавьте следующую ссылку в заголовок HTML:
Это хорошо работало в проекте, автоматически сгенерированном с помощью команды:
источник
Если вам нужно решение, которое не включает внешние файлы и не использует
express.static
(например, сверхлегкий веб-сервер с одним файлом и сайт), вы можете использоватьserve-favicon
и кодировать свойfavicon.ico
файл как Base64. Как это:Замените
IMAGE_AS_BASE64_STRING_GOES_HERE
результатом кодирования вашего файла favicon как Base64. Есть много сайтов, которые могут сделать это онлайн, есть поиск.Обратите внимание, что вам может потребоваться перезапустить сервер и / или браузер, чтобы увидеть, как он работает
localhost
, и жестко обновить / очистить кеш браузера, чтобы он работал в Интернете.источник