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.html和server.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。