如何在Express中设置自定义图标?
我最近开始在Node.js中工作,在app.js文件中有这样一行:
app.use(express.favicon());
现在,我如何设置我自己的习惯favicon.ico?
在Express 4中
安装favicon中间件 ,然后执行:
var favicon = require('serve-favicon'); app.use(favicon(__dirname + '/publichttp://img.dovov.comfavicon.ico'));
或者更好,使用path
模块:
app.use(favicon(path.join(__dirname,'public','images','favicon.ico')));
(请注意,这个解决scheme也可以在express 3应用程序中运行)
在Express 3中
根据API, .favicon
接受一个位置参数:
app.use(express.favicon("publichttp://img.dovov.comfavicon.ico"));
大多数情况下,你可能想要这个(如同build议的vsync):
app.use(express.favicon(__dirname + '/publichttp://img.dovov.comfavicon.ico'));
或者更好的是,使用path
模块(如Druskabuild议的):
app.use(express.favicon(path.join(__dirname, 'public','images','favicon.ico')));
笑脸图标,以防止错误:
//const fs = require('fs'); //const favicon = fs.readFileSync(__dirname+'/public/favicon.ico'); // read file const favicon = new Buffer('AAABAAEAEBAQAAAAAAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAgAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAA/4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEREQAAAAAAEAAAEAAAAAEAAAABAAAAEAAAAAAQAAAQAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAD8HwAA++8AAPf3AADv+wAA7/sAAP//AAD//wAA+98AAP//AAD//wAA//8AAP//AAD//wAA', 'base64'); app.get("/favicon.ico", function(req, res) { res.statusCode = 200; res.setHeader('Content-Length', favicon.length); res.setHeader('Content-Type', 'image/x-icon'); res.setHeader("Cache-Control", "public, max-age=2592000"); // expiers after a month res.setHeader("Expires", new Date(Date.now() + 2592000000).toUTCString()); res.end(favicon); });
在上面的代码中更改图标
也许在这里做一个图标: http : //www.favicon.cc/或在这里: http : //favicon-generator.org
将其转换为base64也许在这里: http : //base64converter.com/
然后replace图标基础值64
一般信息如何创build个性化的最喜欢的图标
图标是使用Photoshop或Inkscape,也许是Inkscape,然后用Photoshop进行振动和颜色校正(在图像 – >调整菜单中)。
快速图标转到http://www.clker.com/和select一些vector剪贴画,并下载为SVG。; 然后将其带到inkscape( https://inkscape.org/ )并更改颜色或删除部分,也许从另一个vector剪贴画图像添加一些东西,然后导出select要导出的部分,然后单击文件>导出,select大小像16×16 favicon或32×32。 进一步编辑128×128或256×256。 ico包内可以有几个图标大小。 它可以有16×16像素favicon一个高品质的图标链接为网站。
那么也许可以在photoshop中增强图像。 像vibrance,斜angular效果,圆形面具,任何东西。
然后将该图像上传到生成图标的网站之一。 也有用于编辑像https://sourceforge.net/projects/variicons/图标的窗口程序。;
将favicon添加到网站。 只需将favicon.ico作为文件放在域的根文件夹中。 例如在包含静态文件的公用文件夹中的node.js中。 它不必像上面的代码那样只是一个简单的文件。
不需要额外的中间件。 只要使用:
app.use('/favicon.ico', express.static('images/favicon.ico'));
app.use(express.favicon(__dirname + '/publichttp://img.dovov.comfavicon.ico'));
我没有__dirname +
本地工作,但无法让我的部署服务器上工作。
如果您使用Express> 4.0,则可以使用服务图标
不需要定制中间件? 在快递中:
//you probably have something like this already app.use("/public", express.static('public'));
然后把你的图标公开,并在您的html头添加以下行:
<link rel="icon" href="/public/favicon.ico">
从npm安装模块serve-favicon
和path
,相应地更新index.js。
//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')));
下面列出的代码工作:
var favicon = require('serve-favicon'); app.use(favicon(__dirname + '/publichttp://img.dovov.comfavicon.ico'));
只要确保刷新浏览器或清除caching。