📜  Node.js 服务器中的 serve favicon 有什么用?

📅  最后修改于: 2022-05-13 01:56:26.484000             🧑  作者: Mango

Node.js 服务器中的 serve favicon 有什么用?

当浏览器第一次加载一个网站时,它会自动请求/favicon.ico ( GET ) 来加载 favicon。 favicon 是一个小文件,称为网站图标、标签图标、URL 图标或书签图标。 serve-favicon 模块用于从 NodeJS 服务器提供 favicon。

为什么要使用这个模块?

  • 用户代理经常不加选择地请求网站图标。在您的记录器中间件之前使用此中间件以从日志中排除这些请求。
  • favicon.ico 是小文件,该模块将 favicon 缓存在内存中,以通过跳过 dick 访问来提供更好的性能。
  • 该模块为图标提供了一个 ETag。
  • 该模块为图标提供兼容的 Content-Type。

项目设置和模块安装:

  • 第 1 步:创建一个 NodeJS 应用程序并使用以下命令将其命名为Project

    mkdir Project && cd Project
    npm init -y

  • 第 2 步:使用以下命令安装依赖模块。

    npm install express serve-favicon
  • 第 3 步:从此处生成网站图标或下载 GFG 网站图标并将其放在您的根目录中。然后在您的项目目录中创建index.htmlserver.js

项目目录:它看起来像这样。

项目目录

例子:

index.html


  

    GeeksForGeeks

  

    

        GeeksForGeeks     

  


server.js
// Import modules
const favicon = require('serve-favicon');
const express = require('express')
const app = express()
  
// Returns a middleware to serve favicon
app.use(favicon(__dirname + '/favicon.ico'));
  
// API endpoint to serve index 
app.get('/', (_, res)=> res.sendFile(__dirname + '/index.html'))
  
// Start the server
app.listen(8080);


服务器.js

// Import modules
const favicon = require('serve-favicon');
const express = require('express')
const app = express()
  
// Returns a middleware to serve favicon
app.use(favicon(__dirname + '/favicon.ico'));
  
// API endpoint to serve index 
app.get('/', (_, res)=> res.sendFile(__dirname + '/index.html'))
  
// Start the server
app.listen(8080);

运行应用程序的步骤:使用以下命令运行server.js

node server.js

输出:打开浏览器并转到http://localhost:8080/ ,我们将在屏幕上看到以下输出。

注意:请记住, serve-favicon仅提供默认的隐式 favicon ,即GET /favicon.ico对需要 HTML 标记的供应商特定图标使用 serve-static。