# Remotes - Type: `PluginRemoteOptions` - Required: No - Default: `undefined` - Usage: Used for consuming remote modules in `Module Federation` :::tip A parameter unique to consumers. If `remotes` is set, it can be considered that this is a consumer. ::: The `PluginRemoteOptions` type is as follows: ```tsx type ModuleFederationInfo = string; interface PluginRemoteOptions { [remoteAlias: string]: ModuleFederationInfo; } ``` - `remoteAlias` is the name actually used for reference by the consumer and can be configured as needed. For example, if `remoteAlias` is set to `demo`, then the consumption method would be `import xx from 'demo'`. - `ModuleFederationInfo` is composed of `ModuleFederation name` + `@` + `ModuleFederation entry` - `ModuleFederation name` is the name set by the producer - `entry` can be either `mf-manifest.json` or `remoteEntry.js` - When `entry` is `mf-manifest.json`, it has the following additional capabilities: - Dynamic module type hints - Resource preloading - Chrome devtool debugging tool ```js module.exports = { plugins: [ new ModuleFederationPlugin({ name: 'host', // The `remotes` below defines two remotes, named `manifest-provider` for the project started on port 3011 and `js-entry-provider` for the project started on port 3012 remotes: { 'manifest-provider': 'manifest_provider@http://localhost:3011/mf-manifest.json', 'js-entry-provider': 'js_entry_provider@http://localhost:3012/remoteEntry.js', }, }), ], }; ```