Consulte la estructura del proyecto de la plantilla de paquete web: https://vuejs-templates.github.io/webpack/structure.html
Tenga en cuenta que hay una carpeta estática, junto con node_modules, src, etc.
Si pones alguna imagen en la staticcarpeta, como favicon.png, estará disponible en http: // localhost: 8080 / static / favicon.png
Aquí está la documentación para activos estáticos: https://vuejs-templates.github.io/webpack/static.html
Para su problema de favicon, puede poner favicon.icoo favicon.pngen la staticcarpeta y hacer referencia en <head>su index.html de la siguiente manera:
<head>
<meta charset="utf-8">
<link rel="shortcut icon" type="image/png" href="/static/favicon.png"/>
<title>My Vue.js app</title>
...
</head>
Si no define un favicon.icoen su index.html, entonces el navegador solicitará un favicon de la raíz del sitio web (comportamiento predeterminado). Si especifica un favicon como arriba, ya no verá ese 404. El favicon también comenzará a aparecer en las pestañas de su navegador.
Como nota al margen, esta es la razón por la que prefiero PNG en lugar de un archivo ICO:
favicon.png vs favicon.ico: ¿por qué debería usar PNG en lugar de ICO?