Heim > Web-Frontend > js-Tutorial > Hauptteil

Möglichkeiten zur Lösung des Problems, dass Webpack-gepackte Dateien zu groß sind

php中世界最好的语言
Freigeben: 2018-04-28 16:12:02
Original
1509 Leute haben es durchsucht

Dieses Mal werde ich Ihnen Ideen zur Lösung des Problems extrem großer Webpack-Dateien vorstellen. Was sind die Vorsichtsmaßnahmen, um das Problem extrem großer Webpack-Dateien zu lösen? Schau sie dir an.

Optimierungsvergleich:

Vor der Optimierung: index.html führt eine main.js-Datei mit einer Größe von mehr als 2 MB ein.

Nach der Optimierung: index.html führt main.js, commons.js, charts.js und other.js ein. Um den Zweck der gleichmäßigen Aufteilung von main.js zu erreichen. Jede Datei wird innerhalb von 300 KB kontrolliert (Wenn Sie zufrieden sind, sind 100 KB kein Problem)

Eine Reihe verwendeter Bibliotheken und Tools:

vue, webpack, babel, highcharts, echarts, jquery, html2canvas****** Ich werde einige M-Codes weglassen

Problem:

Nach der Verwendung von Webpack im In der Entwicklungsumgebung habe ich eine einzelne 5M-JS-Datei gefunden.

Die Produktionsumgebung wird mithilfe der Webpack-Konfiguration von vue-cli auf 2 m reduziert.

Lösung:

Suchen Sie nach verschiedenen Lösungen: require.ensure, require dependency, multiple entries, commonsChunkPlugin****Hier sind einige Lösungen, um Aufwand zu sparen

Es gibt zu viele Lösungen wie die untenstehende im Internet, aber alle erzielen nicht die erwarteten Ergebnisse

entry:{ 
 main:'xxx.js',
  chunks:['c1', 'c2'],
  commons:['jquery', 'highcharts', 'echarts','d3', 'xxxxx.js']  
}
plugins:{
new commonsChunkPlugin({
name:'commons',
minChunks:2
})  
}
Nach dem Login kopieren

Die optimale Lösung:

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
 
}
Nach dem Login kopieren

Ich glaube, Sie haben es hinterher gemeistert Lesen Sie den Fall in dieser Artikelmethode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

JS zu Schwarz-Weiß-Einstellungen für Bilder

Detaillierte Erklärung zum Aktivieren und Deaktivieren von Vue-Komponente auswählen

Das obige ist der detaillierte Inhalt vonMöglichkeiten zur Lösung des Problems, dass Webpack-gepackte Dateien zu groß sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage