如何在Express中设置自定义图标?

伊利亚·卡诺霍夫(Ilya Karnaukhov):

我最近开始在Node.js中工作,在app.js文件中有以下一行:

app.use(express.favicon());

现在,如何设置自己的自定义favicon.ico?

本杰明·格伦鲍姆(Benjamin Gruenbaum):

在Express 4中

安装收藏夹中间件,然后执行以下操作:

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

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

或者更好,使用path模块:

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

(请注意,此解决方案也可以在Express 3应用中使用)

在Express 3中

根据API,.favicon接受一个location参数:

app.use(express.favicon("public/images/favicon.ico")); 

大多数时候,您可能希望这样做(如vsync建议):

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

或者更好的是,使用该path模块(如Druska所建议):

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

为什么Favicon静态更好

根据包装说明

  1. 该模块将图标缓存在内存中,以通过跳过磁盘访问来提高性能。
  2. 这个模块提供了一个ETag基于图标的内容,而不是文件系统的属性。
  3. 该模块将与最兼容的模块一起使用Content-Type

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章