Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: Node.js
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
1

Express favicon

26.12.2016, 03:21. Просмотров 755. Ответов 5
Метки нет (Все метки)

Гуру, подскажите куда копать... Пытаюсь освоить Express для написания простых "сайтов-визиток" (для начала, первые шаги перехода с php).

Раньше пробовал Ноду без експресса.
Javascript
1
2
3
4
5
6
7
var http = require('http');
http.createServer(function (request, res) {
    console.log(request.url)
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World! Connection from ' + request.remoteAddress);
}).listen(1337, '127.0.0.1');
console.log('Server running at [url]http://127.0.0.1:1337/');[/url]
Там сразу шло обращение/поиск /favicon.ico "по умолчанию"! при обращение к ЛЮБОЙ странице.

Хочу нечто подобное и в експрессе!

А пока...
http://127.0.0.1:3000/favicon.ico - работает - вижу иконку

а

Javascript
1
2
3
4
5
6
7
8
doctype html
html
    head
        title= title
        link(rel='stylesheet', href='/stylesheets/style.css')
        link(rel='shortcut icon', href='/favicon.ico', type='image/x-icon')
    body
        block content
успешно добавляет /favicon.ico в страницу, но даже не пытается его отобразить как иконку страницы.

Как это "обычно" делается?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2016, 03:21
Ответы с готовыми решениями:

Http favicon.ico
Добрый день, поясните плииз! использую "чистый" http-модуль для сервера (без...

Express и handlebars
Здравствуйте!!! 1. Подскажите, а как обратиться к {} в котором свойства...

Установка express
Всем привет. Устанавливаю по инструкции: npm install -g express Запускаю...

Ошибка Express фреймворк
Мужики, помогите с проблемой. Я установил IDE NetBeans, на него поставил...

GET POST node.js(express)
Есть сервер. Как к нему добавить методы GET POST. Нужно чтоб он мог подтягивать...

5
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
26.12.2016, 12:54 2
Tester64, начнём с того, что в html указывать фавиконку - мовитон, потому что браузер сам делает запрос на /favicon.ico при первой же загрузке хотя бы одной страницы сайта. А закончим тем, что у экспресса есть миделвер как раз для икноки.
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
27.12.2016, 03:13  [ТС] 3
Цитата Сообщение от BANO Посмотреть сообщение
А закончим тем, что у экспресса есть миделвер как раз для икноки.
вот этого я как раз и не понял... вроде прописал как в примере, подключил либу, и все равно даже не пытается подгружать иконку (он мне пишет обо всех отправляемых файлах).

про ключ в html вспомнил потому что serve-favicon не сработал...
0
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
27.12.2016, 16:14 4
Tester64, как подключили? Код покажите.
0
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
28.12.2016, 15:05  [ТС] 5
(извините за задержку - корпоратив - это слишком сильный удар по... печени)

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var express = require('express');
var favicon = require('serve-favicon');
 
var app = express();
 
// пример взят из [url]https://www.npmjs.com/package/express-favicon[/url]
 
      console.log(__dirname + '/public/favicon.ico')
//app.use(favicon(__dirname + '/public/favicon.ico'));
  app.use(favicon(__dirname + '/public/favicon.png'));
 
app.get('/', function (req, res) {
    console.log(req)
    console.log(res)
    res.send('Hello World!')
})
 
var server = app.listen(3000, function(){
    console.log('server is running at %s .', server.address().port);
});
пробовал и с ICO и с PNG. Путь правильный (только в винде выводит в консоль как c:\123/public/favicon.ico)
а выводит все еще одну из старых закешированных иконок для http://127.0.0.1:3000/ от одного из прошлых проектов с этим-же портом запуска.

Добавлено через 13 часов 40 минут
...перепробовал много комбинаций. Случайно заметил что хром кеширует иконку и не переспрашивает ее! Случайно решил проверить в Фаерфоксе - сработало! Поменял иконку - осталась старая! поменял путь на http://127.0.0.2:3000/ - обновило, поменял файл иконки - опять берет из кеша...
в html (без експресса) при каждой загрузке страницы переспрашивала...
0
BANO
Ренегат
Эксперт HTML/CSS
1716 / 1059 / 385
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
02.01.2017, 17:31 6
Цитата Сообщение от Tester64 Посмотреть сообщение
в html (без експресса) при каждой загрузке страницы переспрашивала...
Потому что в html это нужно для того, чтобы страница сама отвечала за иконку, тот же вк так делает, чтобы показать количество сообщений новых, или Я.Музыка показывает "текущее состояние плеера" (пауза/проигрываение).

Добавлено через 6 минут
Цитата Сообщение от Tester64 Посмотреть сообщение
только в винде выводит в консоль как c:\123/public/favicon.ico
Потому что нужно использовать path.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var express = require('express');
var favicon = require('serve-favicon');
var path = require('path') ;
 
var app = express();
 
// пример взят из [url]https://www.npmjs.com/package/express-favicon[/url]
 
var faviconPath = path.join(__dirname, 'public/favicon.png')
 
      console.log(faviconPath)
  app.use(favicon(faviconPath));
 
app.get('/', function (req, res) {
    console.log(req)
    console.log(res)
    res.send('Hello World!')
})
 
var server = app.listen(3000, function(){
    console.log('server is running at %s .', server.address().port);
});
1
02.01.2017, 17:31
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2017, 17:31

Express post-обработка
Доброй ночи =) Делаю сервер на JS + Express; app.js var express =...

Переписать с php на node+express
Гуру, подскажите с чего начать? (раньше на ноде експресом не пользовался) ...

Express - получение данных с клиента
Привет, отправляю аяксом пост запрос и посылаю данные в виде джейсона Не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru