Tree shake, sideEffects et CSS de Vue et Webpack : charger les fichiers CSS des composants inutilisés
P粉068174996
2023-08-25 10:22:08
<p>Nous essayons de trouver la bonne façon de gérer les arbres CSS dans les composants de fichier unique de Vue lors de l'utilisation de Webpack. </p>
<p>Dans package.json, j'ai : <code>"sideEffects" : ["*.css", "*.less", "*.vue" ]</code> semble empêcher correctement les composants Vue de se charger alors qu'ils ne le devraient pas. Cependant, chaque balise <code><style></code> sera chargée sur la page. </p>
<p>Nous chargeons notre SFC à partir d'un package NPM, qui répertorie une série d'exportations, par exemple : </p>
<pre class="brush:php;toolbar:false;">exporter le bla depuis 'blah.vue';
exporter blah2 depuis 'blah2.vue' ;
exporter blah3 depuis 'blah3.vue';</pre>
<p>Même si nous avons simplement <code>import { blah3 } from 'a-npm-package';</code> dans notre JavaScript, il inclura les styles des trois composants. Comme nous avons beaucoup de composants Vue, cela entraîne l'ajout de beaucoup de CSS inutilisés à la page. </p>
<p>Comment pouvons-nous empêcher que cela se produise ? Il existe certainement des moyens plus efficaces et plus dynamiques de gérer les styles que de simplement les transférer tous dans la page, même si seulement 1/10 d'entre eux sont utilisés. </p>
<p>Merci</p>
Vous pouvez utiliser MiniCssExtractPlugin pour effectuer une secousse d'arborescence CSS. Si vous utilisez scss ou sass, vous pouvez également ajouter ces chargeurs.