diff --git a/src/utils/normalizeModuleFederationOptions.ts b/src/utils/normalizeModuleFederationOptions.ts index 6fc071a..5e827ad 100644 --- a/src/utils/normalizeModuleFederationOptions.ts +++ b/src/utils/normalizeModuleFederationOptions.ts @@ -267,7 +267,7 @@ export interface NormalizedModuleFederationOptions { manifest: ManifestOptions | boolean; dev?: boolean | PluginDevOptions; dts?: boolean | PluginDtsOptions; - shareStrategy?: ShareStrategy; + shareStrategy: ShareStrategy; getPublicPath?: string; } @@ -343,6 +343,6 @@ export function normalizeModuleFederationOptions( dev: options.dev, dts: options.dts, getPublicPath: options.getPublicPath, - shareStrategy: options.shareStrategy, + shareStrategy: options.shareStrategy || 'version-first', }); } diff --git a/src/virtualModules/virtualRemoteEntry.ts b/src/virtualModules/virtualRemoteEntry.ts index a96f33f..af7bc25 100644 --- a/src/virtualModules/virtualRemoteEntry.ts +++ b/src/virtualModules/virtualRemoteEntry.ts @@ -126,9 +126,14 @@ export function generateRemoteEntry(options: NormalizedModuleFederationOptions): remotes: usedRemotes, shared: usedShared, plugins: [${pluginImportNames.map((item) => `${item[0]}()`).join(', ')}], - ${options.shareStrategy ? `shareStrategy: ${options.shareStrategy}` : ''} + ${options.shareStrategy ? `shareStrategy: '${options.shareStrategy}'` : ''} }); initRes.initShareScopeMap('${options.shareScope}', shared); + try { + await Promise.all(await initRes.initializeSharing('${options.shareScope}', {strategy: '${options.shareStrategy}'})); + } catch (e) { + console.error(e) + } initResolve(initRes) return initRes }