Maison > Article > interface Web > Façons de résoudre le problème de la taille trop volumineuse des fichiers packagés Webpack
Cette fois, je vais vous apporter des idées pour résoudre le problème des fichiers packagés webpack extrêmement volumineux. Quelles sont les précautions pour résoudre le problème des fichiers packagés webpack trop volumineux. Voici des cas pratiques, prenons un exemple : regarde-les.
Comparaison d'optimisation :
Avant optimisation : index.html introduit un fichier main.js d'une taille supérieure à 2M.
Après optimisation : index.html introduit main.js, commons.js, charts.js et other.js. Pour atteindre l’objectif de diviser main.js de manière égale. Chaque fichier est contrôlé dans la limite de 300k. (Si vous êtes satisfait, 100k n'est pas un problème)
Un tas de bibliothèques et d'outils utilisés :
vue, webpack, babel, highcharts, echarts, jquery, html2canvas***** Je vais omettre certains codes m
Problème :
Après avoir utilisé webpack dans le environnement de développement, j'ai trouvé un seul fichier js 5m.
L'environnement de production est réduit à 2m grâce à la configuration du webpack de vue-cli.
Solution :
Rechercher diverses solutions : require.ensure, require dépendance, entrées multiples, commonsChunkPlugin****Voici quelques solutions pour économiser des efforts
Il existe trop de solutions comme celle ci-dessous sur Internet, mais elles ne parviennent pas toutes à atteindre les résultats escomptés
entry:{ main:'xxx.js', chunks:['c1', 'c2'], commons:['jquery', 'highcharts', 'echarts','d3', 'xxxxx.js'] } plugins:{ new commonsChunkPlugin({ name:'commons', minChunks:2 }) }
La solution optimale :
entry:{ main:'xxx.js' } plugins:{ new commonsChunkPlugin({ name:'commons', minChunks:function(module){ // 下边return参考的vue-cli配置 // any required modules inside node_modules are extracted to vendor return ( module.resource && /\.js$/.test(module.resource) && module.resource.indexOf( path.join(dirname, '../node_modules') ) === 0 ) } }) , // 以下才是关键 new commonsChunkPlugin({ name:'charts', chunks:['commons'] minChunks:function(module){ return ( module.resource && /\.js$/.test(module.resource) && module.resource.indexOf( path.join(dirname, '../node_modules') ) === 0 && ['jquery.js', 'highcharts.js','echarts'].indexOf( module.resource.substr(module.resource.lastIndexOf('/')+1).toLowerCase() ) != -1 ) } }) // 如果愿意,可以再new 一个commonsChunkPlugin }
Je te crois J'ai lu le cas dans cet article. Vous maîtrisez la méthode. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
JS vers paramètres noir et blanc pour les images
Explication détaillée de la façon d'activer et de désactiver le composant vue select
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!