注意

本页内容由 serve-favicon README 生成。

serve-favicon

NPM Version NPM Downloads Linux Build Status Coverage Status OpenSSF Scorecard Badge

用于提供 favicon 的 Node.js 中间件。

favicon 是一种视觉线索,客户端软件(如浏览器)用它来识别网站。如需示例和更多信息,请访问 维基百科关于 favicon 的文章

为何使用此模块?

注意 此模块专门用于提供“默认的隐式 favicon”,即 GET /favicon.ico。对于需要 HTML 标记的额外供应商特定图标,需要额外的中间件来提供相关文件,例如 serve-static

安装

这是一个通过 npm 注册表 提供的 Node.js 模块。使用 npm install 命令 进行安装。

$ npm install serve-favicon

API

favicon(path, options)

创建一个新的中间件,用于从给定的 favicon 文件 path 提供 favicon。 path 也可以是图标的 Buffer

选项

Serve favicon 在选项对象中接受以下属性。

maxAge

cache-control max-age 指令,单位为 ms,默认为 1 年。这也可以是 ms 模块接受的字符串。

示例

通常,此中间件会非常早地(甚至可能排在第一位)在您的栈中出现,以避免在已知请求是针对 /favicon.ico 时处理任何其他中间件。

express

var express = require('express')
var favicon = require('serve-favicon')
var path = require('path')

var app = express()
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')))

// Add your routes here, etc.

app.listen(3000)

connect

var connect = require('connect')
var favicon = require('serve-favicon')
var path = require('path')

var app = connect()
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')))

// Add your middleware here, etc.

app.listen(3000)

原生 http 服务器

此中间件可以在任何地方使用,甚至在 express/connect 之外。它接受 reqrescallback

var http = require('http')
var favicon = require('serve-favicon')
var finalhandler = require('finalhandler')
var path = require('path')

var _favicon = favicon(path.join(__dirname, 'public', 'favicon.ico'))

var server = http.createServer(function onRequest (req, res) {
  var done = finalhandler(req, res)

  _favicon(req, res, function onNext (err) {
    if (err) return done(err)

    // continue to process the request here, etc.

    res.statusCode = 404
    res.end('oops')
  })
})

server.listen(3000)

许可证

MIT