6

我目前正在运行一个简单的 express.js 示例,只是想让网站图标正常工作。在本地一切正常,但是当我将它上传到我的生产服务器时,它只显示默认的图标。我试过清除缓存,但生产服务器图标似乎不想出现。我在 Windows 2008 aws 服务器上的 iisnode 上运行所有内容。

有谁知道可能是什么问题?

var express  = require('express');
var app      = express();
var port     = process.env.PORT || 3000;
var bodyParser = require('body-parser');

//for favicon
var favicon = require('serve-favicon');



app.configure(function() {
  app.use(express.favicon(__dirname + '/views/icons/favicon.ico'));
  app.use(express.static(__dirname, 'views'));
});


app.listen(port);
console.log("full path is: " + (__dirname + '/views/icons/favicon.ico'));
console.log('The magic happens on port ' + port);
4

3 回答 3

5

安装 favicon 中间件,然后执行:

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

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

或者更好的是,使用路径模块:

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

(请注意,此解决方案也适用于 express 3 应用程序)

在 Express 4 中删除:app.configure()

app.configure()不再被提供。有关更多信息,请参阅

于 2014-06-23T05:39:49.320 回答
3

有时需要更长的时间才能显示在浏览器中。尝试清理缓存或尝试其他浏览器并多次刷新。

于 2016-08-09T18:22:32.520 回答
0

npm安装依赖项,serve-favicon并相应地更新 index.js。path

//import packages
var favicon = require('serve-favicon'), path = require("path");
//use favicon icon path to access in application.
app.use(favicon(path.join(__dirname+'/favicon.ico')));

刷新浏览器以反映网站图标。

于 2016-08-17T19:24:14.220 回答