moduleFederation.options

  • Type: ModuleFederationConfig
  • Default: undefined
  • Version: >= 0.4.0

Used to configure the Rspack module federation plugin.

After setting the moduleFederation.options option, Rsbuild will take the following actions to ensure that the module federation runs correctly:

  • Automatically register the ModuleFederationPlugin plugin, and pass the value of options to the plugin.
  • Set the default value of the Rspack output.publicPath config to 'auto'.
  • Turn off the splitChunks rules of the remote entry.

Options

The type of moduleFederation.options is exactly the same as the ModuleFederationPlugin plugin of Rspack:

rsbuild.config.ts
export default defineConfig({
  moduleFederation: {
    options: {
      name: 'remote',
      // other options
    },
  },
});

Please refer to the ModuleFederationPlugin document for all available options.

Example

Here is a minimal example:

  • Remote App
remote/rsbuild.config.ts
import { defineConfig } from '@rsbuild/core';

export default defineConfig({
  server: {
    port: 3002,
  },
  moduleFederation: {
    options: {
      name: 'remote',
      exposes: {
        './Button': './src/Button',
      },
      filename: 'remoteEntry.js',
    },
  },
});
  • Host App
host/rsbuild.config.ts
import { defineConfig } from '@rsbuild/core';

export default defineConfig({
  server: {
    port: 3002,
  },
  moduleFederation: {
    options: {
      name: 'host',
      remotes: {
        remote: 'remote@http://localhost:3002/remoteEntry.js',
      },
    },
  },
});

For more examples, please see:

ON THIS PAGE