diff --git a/src/plugins/pluginProxyRemoteEntry.ts b/src/plugins/pluginProxyRemoteEntry.ts index f609a13..bb6c212 100644 --- a/src/plugins/pluginProxyRemoteEntry.ts +++ b/src/plugins/pluginProxyRemoteEntry.ts @@ -61,7 +61,7 @@ export default function (): Plugin { ? viteConfig.server.host : 'localhost'; return ` - const origin = window ? window.origin : "//${host}:${viteConfig.server?.port}" + const origin = (window && ${!options.ignoreOrigin}) ? window.origin : "//${host}:${viteConfig.server?.port}" const remoteEntryPromise = await import(origin + "${viteConfig.base + options.filename}") // __tla only serves as a hack for vite-plugin-top-level-await. Promise.resolve(remoteEntryPromise) diff --git a/src/utils/__tests__/normalizeModuleFederationOption.test.ts b/src/utils/__tests__/normalizeModuleFederationOption.test.ts index aa3e13b..bd73e84 100644 --- a/src/utils/__tests__/normalizeModuleFederationOption.test.ts +++ b/src/utils/__tests__/normalizeModuleFederationOption.test.ts @@ -25,6 +25,7 @@ describe('normalizeModuleFederationOption', () => { dev: undefined, dts: undefined, shareStrategy: 'loaded-first', + ignoreOrigin: false, }); }); diff --git a/src/utils/normalizeModuleFederationOptions.ts b/src/utils/normalizeModuleFederationOptions.ts index b594ca9..892c41d 100644 --- a/src/utils/normalizeModuleFederationOptions.ts +++ b/src/utils/normalizeModuleFederationOptions.ts @@ -277,6 +277,7 @@ export type ModuleFederationOptions = { dev?: boolean | PluginDevOptions; dts?: boolean | PluginDtsOptions; shareStrategy?: ShareStrategy; + ignoreOrigin?: boolean; }; export interface NormalizedModuleFederationOptions { @@ -296,6 +297,7 @@ export interface NormalizedModuleFederationOptions { dts?: boolean | PluginDtsOptions; shareStrategy: ShareStrategy; getPublicPath?: string; + ignoreOrigin?: boolean; } interface PluginDevOptions { @@ -371,5 +373,6 @@ export function normalizeModuleFederationOptions( dts: options.dts, getPublicPath: options.getPublicPath, shareStrategy: options.shareStrategy || 'version-first', + ignoreOrigin: options.ignoreOrigin || false, }); }