mxn-favicons

Serve site icons (favicon and apple-touch-icon) from any directory

Usage no npm install needed!

<script type="module">
  import mxnFavicons from 'https://cdn.skypack.dev/mxn-favicons';
</script>

README

mxn-favicons

npm@latest Install size Downloads

mxn-favicons is a fork of connect-favicons, a simple connect middleware to serve site icons (favicon.ico and apple-touch-icon.png and all its flavours) from any directory.

Install

$ npm install mxn-favicons

Usage

Add mxn-favicons to your middleware stack before everything else. The whole point here is to serve favicon.ico and apple-touch-icon.png (et al.) quickly, without involving any routing.

In this case, you may have all your site icons, including favicon.ico in /public/icons:

app.use(favicons(__dirname + "/public/icons"));

Now any request to the example.com/favicon.ico or example.com/apple-touch-icon.png will be served by MXN Favicons, reading from the folder you specified.

Example:

// HTTP server
const http  = require("http");

// MXN Connect Framework and Middleware
const connect = require("mxn-connect");
const favicon = require("mxn-favicons");
const sstatic = require("serve-static");

// Instantiating the App
const app = connect();

// Adding Middleware
app.use(favicon(__dirname + "/public/icons"));
app.use(sstatic(__dirname + "/public"));

// Create node.js http server and listen on port
const options = { };
const server = http.createServer(options, app).listen(3000, function() {
    console.log("MXN Connect server is running on port " + 3000);
});

server.on("error" , function(error) {
    console.error("Error event handler called: " + error);
});

License

This module is released under the MIT license. The original author of connect-favicons is Tommaso Lanza and The Workers Ltd.

Related