Dica de tipoing
Just like um NPM Pacote, Module Federation artifacts também generate tipos e enjoy hot-reloading de tipos, even though o artifacts são hosted on uma remote CDN.
@module-federation/enhanced has type hinting enabled by default. Isso article will introduce several common usage scenarios and their specific configurations.
Uso Scenarios
Generating Tipos
Quando building with the build plugin provided by @module-federation/enhanced, type files are automatically generated.
Carregamento Tipos
- Consumer modifies
tsconfig.jsone addspaths:
- Start o aplicações
Depois starting, o consumer vai automatically buscar o producer's tipo arquivos.
Você don't precisa worry about o startup order do producer e consumer.
Tipo Hot Reloading
Depois modifying o producer's code, o consumer vai automatically buscar o producer's tipos.

API de runtime Dica de tipoing
Add ./@mf-types/* para o include field para enjoy Runtime loadRemote tipo hinting e tipo hot reloading:

Quando o builder é webpack, add **/@mf-types/** para watchOptions.ignored para avoid circular compilation issues caused by tipo updates.
Third-Party Pacote Tipo Extraction
Module Federation automatically extracts third-party pacote tipos para garantir esse exposes arquivo tipos pode ser accessed normally.

Nested Tipo Re-exporte
Module Federation suporta nested remotes e vai automatically extract o tipos de nested remotes.

Dynamic Dica de tipoing
Module Federation suporta carregamento dynamic tipos e também suporta hot updates.

Configuração
FAQ
Project has circular compilation e cannot ser terminated
Este é likely caused pelo compiler watching changes no tipo pasta ou o dist diretório. Add @mf-types para o ignored arquivos. Por exemplo, com webpack/rspack:
No tipo arquivos são generated, como para find o reason?
- Add o
FEDERATION_DEBUG=trueenvironment variable antes o projeto startup comando. - Set dts.displayErrorInTerminal para
true. - Start o projeto e check o console output.
- (Opcional) Se there é no erro no console, check o
.mf/typesGenerate.loglog arquivo.