【问题标题】:Favicon not showing locally on expressFavicon 未在 Express 本地显示
【发布时间】:2017-09-10 03:31:27
【问题描述】:

我错过了什么吗?这是我所拥有的:

var express = require('express');
var favicon = require('serve-favicon');
var path = require('path');

var app = express();

app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); 

app.use('/api', require('./routes/api'));

app.listen(3000);

我的网站图标位于公用文件夹中指定的位置并且名称相同。我在一个文件中分别设置了一些其他路线。图标似乎没有工作,我一定错过了一些东西。

【问题讨论】:

  • 开发者控制台在浏览器中登录什么?!
  • 它没有显示任何东西,看起来好像一切正​​常,只是图标没有显示。谢谢。
  • 在您的页面加载时查看 Chrome 调试器中的网络标记,并查看浏览器是否真的从您的服务器请求 favicon.ico 文件。如果是这样,看看它得到了什么响应。
  • @jfriend00 我这样做了,它没有请求网站图标。它完全不存在。那会是什么?谢谢老兄。
  • HTML 文档的<head> 部分中可能与网站图标相关的内容是什么?网页可以告诉浏览器不要请求网站图标。或者,相反,您可以专门引用一个 favicon:stackoverflow.com/questions/11893478/add-favicon-to-websitestackoverflow.com/questions/10218178/…

标签: node.js express


【解决方案1】:

浏览器可能缓存了较旧的网站图标。您可以通过向新的 favicon 添加一个版本来强制浏览器刷新缓存,如下所示:

<link rel="icon" href="favicon.ico?v=1.1">

【讨论】:

    【解决方案2】:

    This 回答您的问题。

    上面写着:

    1. 转到http://localhost:3000/favicon.ico
    2. 刷新页面。
    3. 重启浏览器。

    【讨论】:

      【解决方案3】:

      检查文档的&lt;head&gt; 部分中的内容。虽然浏览器可以实现默认的 favicon.ico 行为,但也可以通过 &lt;head&gt; 部分控制它,方法是告诉浏览器您希望它从哪个文件/路径中获取图标,它是什么类型的文件或您根本不希望它寻找网站图标。

      这里有两个关于该主题的其他参考资料,涵盖了一些细节:

      Add Favicon to Website

      Necessary to add link tag for favicon.ico?

      【讨论】:

        【解决方案4】:

        Chrome 缓存没有网站图标。网站图标将在生产中显示。

        【讨论】:

        • 我应该怎么做才能在本地看到它?
        • 不幸的是,即使在清除了我的缓存之后。谢谢。
        猜你喜欢
        • 1970-01-01
        • 2012-09-24
        • 2021-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-26
        相关资源
        最近更新 更多