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/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/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: