J'ai essayé ce qui suit :
https://github com. /visualfanatic/vue-svg-loader/tree/master
Mais comme vue-template-compiler est utilisé dans Vue 2, il existe un conflit de version.
J'ai essayé :
https://github.com/visualfanatic/vue-svg -loader
Mais il me manque une dépendance Vue spécifique.
J'ai remarqué qu'il y avait une note lors de l'utilisation de TypeScript, qui nécessite de déclarer un fichier de définition de type. Cependant, j'obtiens toujours l'erreur "Impossible de trouver le module '../../assets/myLogo.svg' ou sa déclaration de type correspondante".
Voici ce que j'ai ajouté :
vue.config.js
module.exports = { chainWebpack : (config) => { const svgRule = config.module.rule('svg'); svgRule.uses.clear(); svgRègle .use('vue-loader-v16') .loader('vue-loader-v16') .fin() .use('vue-svg-loader') .loader('vue-svg-loader'); }, configureWebpack : process.env.NODE_ENV === 'production' {} : { outil de développement : 'carte-source' }, publicPath : process.env.NODE_ENV === 'production' ? '/Site Web personnel/' : '/' }cales-svg.d.ts
déclarer le module '*.svg' { contenu const : n’importe lequel ; exporter le contenu par défaut ; }MonComponent.vue
vue-svg-loader n'est pas compatible avec vue 3. Pour importer un fichier SVG et l'utiliser comme composant, enveloppez simplement le contenu du fichier dans un « modèle »
En composante :
Webpack :
scripts/svg-to-vue.js :
En fait, Vue CLI prend déjà en charge SVG de manière native. Il utilisefile-loaderen interne. Vous pouvez confirmer en exécutant la commande suivante sur le terminal :
Si « svg » est répertorié (il devrait l'être), alors il vous suffit de :
Donc, si votre objectif est simplement d'afficher du SVG, vous n'avez besoin d'aucune bibliothèque tierce.
Bien sûr, pour satisfaire aux exigences de déclaration de type du compilateur TypeScript :