J'ai un build webpack à plusieurs entrées et je travaille sur l'optimisation de la taille des artefacts pour la production. webpack-bundle-analyzer
produit l'image suivante:Pourquoi la dépendance est-elle répétée plusieurs fois dans l'artefact Webpack?
Il est évident que les AtlasKit dépendances constituent un énorme morceau de la taille d'artefact totale. Plus précisément, je vois que styled-components.es.js
est répété plusieurs fois. Plus encore, cette même dépendance est également présente dans vendor.js
qui est elle-même partagée par tous les autres paquets.
Quelqu'un peut-il expliquer pourquoi styled-components.es.js
est répété partout et pourquoi il ne peut pas être partagé par une seule dépendance dans vendor.js
? Y at-il quelque chose que je peux faire pour supprimer les doublons et ne dépend que de la dépendance styled-components.es.js
unique dans vendor.js
?
J'ai trouvé un peu étrange que les dépendances AtlasKit aient un dossier node_modules
imbriqué inclus dans le package. Pourquoi dist
ne suffit pas? Peut-être que cela fait partie de la raison pour laquelle styled-components.es.js
ne peut pas être partagée via vendor.js
?
J'ai essayé d'exclure la dépendance manuellement via IgnorePlugin de webpack (similaire à moment.js
locales), mais a échoué jusqu'à présent de le faire.
Toute idée serait grandement appréciée. Merci!
Avez-vous déjà trouvé une solution pour cela?Avoir le même problème, pensé que j'étais juste mauvais au webpack mais il semble que quelque chose est étrangement configuré avec @atlaskit –
@MitchLillie malheureusement je n'ai pas et j'ai arrêté d'investir plus de temps à ce sujet. Cependant, si jamais je trouve un peu de temps, j'aimerais approfondir cette question. Je crois toujours qu'il devrait y avoir une solution. – tobi