How to set custom favicon in Express?

前端 未结 14 1907
星月不相逢
星月不相逢 2020-12-12 12:49

I recently started working in Node.js and in the app.js file there is this line:

app.use(express.favicon());

Now, how do I set up my own cu

14条回答
  •  佛祖请我去吃肉
    2020-12-12 13:15

    In Express 4

    Install the favicon middleware and then do:

    var favicon = require('serve-favicon');
    
    app.use(favicon(__dirname + '/public/images/favicon.ico'));
    

    Or better, using the path module:

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

    (note that this solution will work in express 3 apps as well)

    In Express 3

    According to the API, .favicon accepts a location parameter:

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

    Most of the time, you might want this (as vsync suggested):

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

    Or better yet, use the path module (as Druska suggested):

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

    Why favicon is better than static

    According to the package description:

    1. This module caches the icon in memory to improve performance by skipping disk access.
    2. This module provides an ETag based on the contents of the icon, rather than file system properties.
    3. This module will serve with the most compatible Content-Type.

提交回复
热议问题