remoteType

remoteType especifica el tipo de módulo externo de los contenedores remotos y determina cómo el runtime carga las entradas remotas.

  • Tipo: ExternalsType
  • Obligatorio: No
  • Valor por defecto: 'script'
type ExternalsType =
  | 'var' | 'module' | 'assign'
  | 'this' | 'window' | 'self' | 'global'
  | 'commonjs' | 'commonjs2' | 'commonjs-module' | 'commonjs-static'
  | 'amd' | 'amd-require'
  | 'umd' | 'umd2'
  | 'jsonp' | 'system'
  | 'promise' | 'import' | 'module-import'
  | 'script' | 'node-commonjs';

Uso

remoteType controla cómo webpack/rspack cargan los scripts de los contenedores remotos en runtime. Valores habituales:

ValorDescripción
'script'Carga mediante una etiqueta <script> (valor por defecto en el navegador)
'var'El contenedor remoto se expone como una variable global
'commonjs2'Carga mediante require() (Node.js)
'node-commonjs'Formato CommonJS de Node.js
'import'Carga mediante import() dinámico
'promise'Carga mediante un wrapper de Promise
'module'Carga de módulos ESM
Tip

En la mayoría de los casos no necesitas establecer remoteType manualmente: el valor por defecto 'script' funciona en entornos de navegador. Los escenarios de servidor con Node.js suelen requerir 'commonjs2' o 'node-commonjs'.

Ejemplo

// Browser (default)
new ModuleFederationPlugin({
  name: '@demo/host',
  remoteType: 'script',
  remotes: {
    provider: 'provider@http://localhost:3001/remoteEntry.js',
  },
});

// Node.js server-side
new ModuleFederationPlugin({
  name: '@demo/node-host',
  remoteType: 'commonjs2',
  remotes: {
    provider: 'provider@http://localhost:3001/remoteEntry.js',
  },
});