Die Module Federation kommt

webpack 5 ist da: Module Federation offiziell verfügbar
Keine Kommentare

webpack 5 ist offiziell veröffentlicht worden. Die neue Version des Module Bundlers für JavaScript bringt einige größere Neuerungen mit. Darunter ist die Module Federation, die Microfrontends viel attraktiver machen könnte. Das ist aber nicht die einzige große Neuerung: Dass webpack 5 keine Polyfills für Node.js-Kern-Module mehr mitbringt, ruft gemischte Reaktionen hervor

webpack 5 umfasst eine lange Liste großer Änderungen. Nachdem das letzte Major-Update bereits 2,5 Jahre zurück liegt, ist die neue Version vollgepackt mit Major Changes, die an den Grundfesten des Module Bundlers rütteln. Die Überarbeitung fiel so umfangreich aus, dass die offiziellen Release Notes mit dem Hinweis beginnen, dass v5 nicht einmal jetzt Feature-Complete oder frei von Bugs sei. Das Major Release haben man jetzt aber vorgenommen, da für viele der Änderungen Breaking Changes eingefügt werden musste. Das sei ohne Major-Version jedoch nicht vorgesehen und man habe darum in den letzten Jahren auf Änderungen an Architektur und API verzichtet. Nun sei es aber notwendig, diesen Schritt zu gehen. Entsprechend zahlreich sind die Breaking Changes.

webpack 5: Module Federation eingeführt

Zu den lange ersehnten Neuerungen in webpack 5 gehört die Module Federation. Damit macht webpack es möglich, mehrere separat kompilierte Builds zu einer einzigen Anwendung zusammenzufügen, die zur Laufzeit als gemeinsamer Module-Graph behandelt wird. Entwickler können auf diese Weise mit verschiedenen Frameworks für einzelne Teile der gleichen Anwendung arbeiten. Die Module Federation in webpack 5 wird schon lange diskutiert und als große Erleichterung für die Arbeit mit Microfrontends angesehen. Eine genauere Darstellung von Manfred Steyer zu diesem Thema ist im Entwickler.Kiosk zu finden: Die Microfrontend-Revolution. Mit webpack 5 steht außerdem ein eigener Guide zur Module Federation bereit.

Node-Modules: Keine Polyfills mehr

Wie bereits erwähnt bringt webpack 5 aber noch zahlreiche weitere Neuerungen mit. Alle Breaking Changes, die in den letzten 2,5 Jahren nicht vorgenommen wurden, sind nun auf einen Schlag integriert worden. Dazu gehört auch, dass webpack eine grundlegenden Wandel vollzieht, was den Umgang mit Node-Kern-Modulen angeht, die nicht auf den Browser als Laufzeitumgebung ausgelegt sind. Bislang hat webpack Polyfills für diese Module mitgebracht, die automatisch angewendet wurden, sodass Entwickler die Backend-Module einfach per webpack im Browser verwenden konnten. Diese Polyfills wurden nun entfernt, sodass die Module nicht mehr automatisch für Frontend-Anwendungen verfügbar sind. In den Release Notes zu webpack 5 wird die Neuerung damit begründet, dass es inzwischen genug mit dem Frontend kompatible Node-Module gebe und man sich in Zukunft darauf konzentrieren wolle. Die bisher verwendeten Polyfills hätten die Bundles aufgebläht, seien aber in vielen Fällen gar nicht mehr notwendig gewesen.

Angular Camp im November 2020

Mit Manfred Steyer (SOFTWAREarchitekt)

Manfred ist Trainer und Berater mit Fokus darauf, im gesamten deutschen Sprachraum Unternehmen bei der Umsetzung webbasierter Geschäftsanwendungen mit Angular zu unterstützen.

Neuer Blogpost zu Angular 10

Angular 10, Ivy und die Zukunft von Angular

Dieser Schritt wird in der Community kontrovers diskutiert, wie beispielsweise Sindre Sorhus in einem Artikel zum Ausdruck bringt. Sorhus weist darauf hin, dass die Änderung in webpack 5 zu einer Inkompatibilität mit zahlreichen npm-Packages führen werde, die bislang problemlos in webpack verwendet werden konnten. Er geht davon aus, dass viele Anwender sich für eine Lösung an die Autoren der Module wenden werden, statt den Vorschlägen des webpack-Teams zu folgen und selbst die entsprechenden Polyfills hinzuzufügen. Zwar stimmt Sorhus grundsätzlich zu, dass der von webpack vollzogene Schritt sinnvoll ist; er empfindet die Umsetzung jedoch als zu früh vollzogen und bemängelt, dass die Situation der Maintainer betroffener Packages nicht ausreichend durchdacht worden sei

Experimentelle Features in webpack 5

Zu den weiteren Neuerungen in webpack 5 gehört beispielsweise, dass der Support für JSON Modules dem Proposal angepasst wurde. Die Möglichkeiten zum Tree Shaking wurden zur neuen Version deutlich ausgeweitet. Einen Überblick über die zahlreichen weiteren neuen Features und Änderungen gibt der Blogpost zum Release. Als experimentelle Features geführt werden dort beispielsweise ein neuer Support für WebAssembly sowie das ECMAScript-Proposal zu Top-level Await. Die derzeit experimentellen Neuerungen könnten grundsätzlich auch zu Minor-Releases finalisiert werden und mit Breaking Changes einhergehen, die nicht bis zum nächsten Major-Release aufgeschoben werden-

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -