gtm*_*mtg 52 favicon node.js express
这是一个非常基本的问题,但我正在尝试更改node.js/Express应用程序的favicon
app.use(express.favicon(__dirname + '/public/images/favicon.ico'));
我仍然得到默认的图标.这是在我的app.configure功能,是的,我已经验证,有是   一个favicon.ico在/public/images/favicon.ico.还有的约没有favicon.ico在控制台中,或者说,这使我相信,这行代码被忽略.函数中的其他所有内容(设置端口,设置视图目录,设置模板引擎等)似乎工作正常,那么为什么这行代码不会执行?
我尝试了什么
node app.js再次运行{ maxAge: 2592000000 },如所描述这里提前致谢.
更新:我得到了它的工作.有关详细信息,请参阅下面的答案.
gtm*_*mtg 74
我尝试第一次访问Safari中的网站(我通常使用Chrome)并注意到它显示的是正确的图标.我尝试在Chrome中再次清除缓存(两次)无济于事,但经过更多搜索后,我发现显然还没有将缓存存储在缓存中.我使用这里描述的方法"刷新了我的图标" 并且它有效!
这是方法(从上面的链接修改),以防链接失效:
use*_*647 35
最终对我有用的是:
看那个
app.use(express.favicon(__dirname + '/public/images/favicon.ico')); 
是应用程序配置功能的开头.我在最后之前得到了它.正如Express文档所说的那样:"使用"定义"中间件的顺序app.use()非常重要,它们是按顺序调用的,因此定义了中间件优先级.
我不需要设置任何maxAge.
测试它:
node app.jscap*_*ght 15
以上答案不再有效.
如果你使用
app.use(express.favicon(__dirname + '/public/images/favicon.ico'));
你会收到这个错误:
Error: Most middleware (like favicon) is no longer bundled with Express and must be installed separately
你需要做的是获得服务 - favicon.
跑
npm install serve-favicon --save
然后将其添加到您的应用程序
var express = require('express');
var favicon = require('serve-favicon');
var app = express();
app.use(favicon(__dirname + '/public/images/favicon.ico'));
| 归档时间: | 
 | 
| 查看次数: | 35142 次 | 
| 最近记录: |