node.js - 无法使用 Express.js 更改网站图标

标签 node.js express favicon

这是一个非常基本的问题,但我正在尝试更改我的 node.js/Express 应用程序的图标

app.use(express.favicon(__dirname + '/public/images/favicon.ico'));

我仍然得到默认的网站图标。这是在我的 app.configure 函数中,是的,我已经验证 /中有 is favicon.ico public/images/favicon.ico。控制台中也没有关于 favicon.ico 的内容,这让我相信这行代码被忽略了。函数中的其他所有内容(设置端口、设置 View 目录、设置模板引擎等)似乎都工作正常,那么为什么这行代码不会执行?

我尝试了什么

  • 清空浏览器缓存
  • 重启终端并再次运行node app.js
  • 添加 { maxAge: 2592000000 },如 here 所述

提前致谢。

更新:我让它工作了。有关详细信息,请参阅下面的答案。

最佳答案

我第一次尝试在 Safari 中访问该网站(我通常使用 Chrome)并注意到它显示了正确的网站图标。我尝试再次(两次)清除 Chrome 中的缓存无济于事,但经过更多搜索,我发现 apparently favicons aren't stored in the cache .我使用 here 描述的方法“刷新了我的网站图标”并且成功了!

这是方法(从上面的链接修改),以防链接失效:

  1. 打开 Chrome/有问题的浏览器
  2. 直接导航到 favicon.ico 文件,例如http://localhost:3000/favicon.ico
  3. 按 F5 或相应的浏览器刷新(重新加载)按钮刷新 favicon.ico 网址
  4. 关闭浏览器并打开您的网站 - 瞧,您的网站图标已更新!

关于node.js - 无法使用 Express.js 更改网站图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658035/

相关文章:

html - 没有图标请求

javascript - 我可以确定一个字符串是否是 MongoDB ObjectID 吗?

node.js - 升级到 Protractor 4.0.9 后为 "Unable to connect to renderer"。测试不会运行。关于为什么的任何想法?

javascript - passport.js + express : TypeError ('Router.use() requires a middleware function but got a ' + gettype(fn))

javascript - 如何从一个文件导出变量并在另一个文件上 require() 导出的变量?

node.js - Express 用户未定义

node.js - 使用 webpack 和 vue-cli 的 Favicon

html - 网站图标不工作

javascript - 当文件内容发生变化时,使用node.js将更新的内容发送给用户

node.js - Mongodb如何将特定对象从数组移动到另一个数组?