I have created a vue webpack
project using vue-cli
.
vue init webpack myproject
And then ran the project under dev
mode:
npm run dev
I got this error:
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8080/favicon.ico
So inside webpack, how to import the favicon.ico
correctly?
Favicon images are small in size, only 16 pixels in height by 16 pixels in width, so there is not much space for complex designs. Still, a good favicon that is clean, simple and easily identifiable can provide a good visual indicator for visitors navigating to your site through their tabs or bookmarks.
A favicon. ico is the little icon that browsers display next to a page's title on a browser tab, or in the address bar next to its URL. In practical when you bookmark any page then it shows a logo of website which is nothing but favicon. ico . It is default lookup of browsers.
Check out the Project Structure of webpack template: https://vuejs-templates.github.io/webpack/structure.html
Note that there is a static folder, along with node_modules
, src
, etc.
If you put some image into the static
folder, like favicon.png
, it will be made available at http://localhost:8080/static/favicon.png
Here is the documentation for static assets: https://vuejs-templates.github.io/webpack/static.html
For your favicon issue, you can put a favicon.ico
or favicon.png
into the static
folder and refer in the <head>
of your index.html as follows:
<head> <meta charset="utf-8"> <link rel="shortcut icon" type="image/png" href="/static/favicon.png"/> <title>My Vue.js app</title> ... </head>
If you do not define a favicon.ico
in your index.html
, then the browser will request for a favicon from the website root (default behaviour). If you specify a favicon as above, you will not see that 404 anymore. The favicon will also start showing up in your browser tabs.
As a side note, here is the reason why I prefer PNG instead of ICO file:
favicon.png vs favicon.ico - why should I use PNG instead of ICO?
For some reason, the above solutions did not work for me before converting the default favicon.ico
file to favicon.png
and renaming it to favicon-xyz.png
e.g. (I have put this file in /public
folder) and edited the index.html
file as follows:
<head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <link rel="icon" href="<%= BASE_URL %>favicon-xyz.png"> . . . </head>
Might be useful for someone.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With