Module Federation
Module Federation
ManfredSteyer
@ManfredSteyer
Contents
#1: #2
Module Federated
Federation Angular
#3:
Version
Mismatch
@ManfredSteyer
Manfred Steyer
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer
Idea
Does not work with
webpack/ Angular CLI
@ManfredSteyer
Webpack 5 Module Federation
import('mfe1/Cmp')
@ManfredSteyer
How to Get the Microfrontend's URL?
@ManfredSteyer
How to Share Libs?
shared: [ shared: [
"@angular/core", "…" "@angular/core", "…"
] ]
@ManfredSteyer
@ManfredSteyer
?
@ManfredSteyer
Custom Builder
@ManfredSteyer
@ManfredSteyer
1) ng add @angular-architects/module-federation
2) Adjust generated configuration
3) ng serve
@ManfredSteyer
@ManfredSteyer
@ManfredSteyer
Dealing with Version Mismatch
SemVer by Default: Highest compatiable version
@ManfredSteyer
Example for SemVer and Fallback
• Shell: my-lib: ^10.0.0
• MFE1: my-lib: ^10.1.1
• MFE2: my-lib: ^9.0.0
Result:
• Shell and MFE1 share ^10.1.1
• MFE2 falls back to its own version ^9.0.0
@ManfredSteyer
Configuring Singletons
shared: {
"my-lib": {
singleton: true,
strictVersion: true // Error instead of warning!
}
}
@ManfredSteyer
Relaxing Version Requirements
shared: {
"my-lib": {
requiredVersion: ">=1.0.1 <11.1.1"
}
}
@ManfredSteyer
Free eBook
Updated for Module Federation
and Alternatives
ANGULARarchitects.io/book
@ManfredSteyer
When can we have it?
Webpack 5 and Module Federation: final
@ManfredSteyer
Conclusion
Loading
Module
Separately
Federation
Deployed Code
Federated Version
Angular Mismatch
@ManfredSteyer
Slides & Examples Remote Company Workshops
and Consulting
http://angulararchitects.io
d
@ManfredSteyer