2 votes

Favicon avec webpack et vue-cli

J'ai un problème. Le fichier index.html est créé par webpack pour mon projet Vue. Il recherche actuellement les favicons dans le dossier dist comme indiqué ci-dessous. Cependant, le dossier icônes n'existe même pas dans le dossier dist/img. Je n'ai pas configuré webpack, je ne fais que gérer le site et honnêtement je n'y connais pas grand chose. Je ne sais pas comment mettre ces fichiers dans le dossier dist et faire en sorte qu'ils restent car ils sont dans le fichier .gitignore et je suis sûr qu'ils ne veulent pas que je m'en mêle. Comment puis-je placer ces fichiers à un endroit où ils seront récupérés par webpack ou modifier webpack pour qu'il recherche les fichiers à un autre endroit ?

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <title>Vue App</title>
    <link href="stackoverflow.com/bundle.js" rel="preload" as="script" />
    <meta
      name="viewport"
      content="width=device-width,initial-scale=1,user-scalable=no"
    />
    <link
      rel="icon"
      type="image/png"
      sizes="32x32"
      href="stackoverflow.com/img/icons/favicon-32x32.png"
    />
    <link
      rel="icon"
      type="image/png"
      sizes="16x16"
      href="stackoverflow.com/img/icons/favicon-16x16.png"
    />
    <link rel="manifest" href="stackoverflow.com/manifest.json" />
    <meta name="theme-color" content="#4DBA87" />
    <meta name="apple-mobile-web-app-capable" content="no" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <meta name="apple-mobile-web-app-title" content="creative-engine-spa" />
    <link
      rel="apple-touch-icon"
      href="stackoverflow.com/img/icons/apple-touch-icon-152x152.png"
    />
    <link
      rel="mask-icon"
      href="stackoverflow.com/img/icons/safari-pinned-tab.svg"
      color="#4DBA87"
    />
    <meta
      name="msapplication-TileImage"
      content="/img/icons/msapplication-icon-144x144.png"
    />
    <meta name="msapplication-TileColor" content="#000000" />
  </head>

  <body>
    <div id="app"></div>
    <script type="text/javascript" src="/bundle.js"></script>
  </body>
</html>

Je ne sais pas si cela peut vous aider à répondre à ma question, mais j'ai aussi ce code dans mon fichier vue.config.js.

const path = require("path");

module.exports = {
  chainWebpack: config => {
    config;
    config.plugin("html").tap(args => {
      args[0].meta = {
        viewport: "width=device-width,initial-scale=1,user-scalable=no"
      };

      return args;
    });
  },
  configureWebpack: {
    devtool: "cheap-source-map",
    output: {
      filename: "bundle.js"
    }
  }
};

2voto

Abhishek Points 43

Vous pouvez définir le chemin du favicon dans le fichier vue.config.js

Lire pour plus d'informations aquí

const path = require("path");

module.exports = {
  chainWebpack: config => {
    config;
    config.plugin("html").tap(args => {
      args[0].meta = {
        viewport: "width=device-width,initial-scale=1,user-scalable=no"
      };
      args[0].inject = true;
      args[0].filename = "index.html";
      args[0].favicon = "./public/favicon.ico"; // path to favicon

      return args;
    });
  },
  configureWebpack: {
    devtool: "cheap-source-map",
    output: {
      filename: "bundle.js"
    }
  }
};

1voto

Coder Noob Points 101

J'ai dû trouver mon dossier statique. Dans mon cas, c'était le dossier public et y déposer les fichiers. Dans la structure du dossier où je voulais les mettre. Apparemment, votre dossier statique se construit à chaque fois. Dans mon cas, la structure de mon dossier ressemblait à ceci public/img/favicon-32x32.png

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X