Get rid of 404 (Not Found) for favicon.ico in browser test automation using conn...

 3 years ago
source link: https://www.tuicool.com/articles/hit/Q7Bviyf
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.



Middleware for Connect or Express to silence browser requests for favicon.ico with no content. Useful when serving web project files from a local web server for development or test automation purposes.

  • No need for storing a favicon.ico file in the root of your project.
  • Both Connect and Express HTTP server frameworks supported.
  • No other dependencies.

If you develop or test a web application and your console is polluted by the following message, when the browser tries accessing /favicon.ico , using this middleware will help you to get rid of it:

Failed to load resource: the server responded with a status of 404 (Not Found)

Table of Contents


const connect = require('connect')
const blockFavicon = require('connect-block-favicon')
const serveStatic = require('serve-static')

  .use(serveStatic('.', { etag: false }))
  .listen(9876, () => console.log('Serving on the port', 9876))


This module can be installed in your project using NPM or Yarn . Make sure, that you use Node.js version 6 or newer.

npm i connect-block-favicon --save
yarn add connect-block-favicon

Getting Started

The main module exports a factory, which returns a request handler. The request handler is a middleware (plugin function) compatible with both Connect and Express HTTP server frameworks. The factory is function returning the request handler.

const connect = require('connect')
// Load the block-favicon middleware factory.
const blockFavicon = require('connect-block-favicon')

const app = connect()
// Create a block-favicon middleware and pass it to the application server.

The request handler intercepts requests to /favicon.ico and "satisfies" them by serving no content (HTTP status 204) and a request to cache the response for one year.


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 2019-01-01 v0.0.1 Initial release


Copyright (c) 2019 Ferdinand Prantl

Licensed under the MIT license.

About Joyk

Aggregate valuable and interesting links.
Joyk means Joy of geeK