首页 > 解决方案 > 如何使用“koa-favicon”,得到“未找到”

问题描述

const Koa = require('koa');
const app = new Koa();
const favicon = require('koa-favicon');
app.use(favicon());
app.listen(3008);

“favicon.ico”存在于根目录(__dirname)中。在 Chrome 中,我打开http://localhost:3008/并查看状态为 404 的“network/favicon.ico”查询:

请求 URL:http://localhost:3008/favicon.ico 请求方法:GET 状态码:404 Not Found [在此处输入图像描述][2] 为什么?favicon.ico 存在那里

标签: node.jskoa

解决方案


您需要指定图标的路径。

const path = require('path');

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

检查此代码。如果您没有指定图标路径,则中间件返回传递函数。

module.exports = function (path, options){
  if (!path) {
    return (ctx, next) => {
      if ('/favicon.ico' != ctx.path) {
        return next();
      }
    };
  } ...

推荐阅读