Модульная федерация Vite не работает над Safari: Ссылкаерр: не может получить доступ к ненициализированной переменнойJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Модульная федерация Vite не работает над Safari: Ссылкаерр: не может получить доступ к ненициализированной переменной

Сообщение Anonymous »

У меня есть несколько приложений React/Vite, и одно называется App Shell, который является хостом всех модульных федеративных приложений. На основе маршрута страницы я загружаю удаленное приложение, используя функцию LoadRemote из модуля-федерации/времени выполнения (то же самое происходит, когда я использую @Module-Federation/Enhanced/Runtime ). Это то, как выглядит мой код: < /p>

Код: Выделить всё

import { loadRemote } from '@module-federation/runtime';
import { ComponentType, useState, useEffect} from 'react';

import { RemoteModule } from 'types/federation';

export function useRemoteModule(name: string): ComponentType | null {
const [module, setModule] = useState(null);

useEffect(() => {
const loadModule = async () => {
try {
const module = await loadRemote(`${name}/App`);

if (!module?.default) {
throw new Error(`Module ${name} does not have a default export`);
}
setModule(() => module.default);
} catch (e) {
console.log(e, 'catch');
}
}

loadModule();
}, [name])

return module;
}

export function RouteResolver({ routes }: RouteResolverProps) {
const { '*': routeParams } = useParams();
const configRoute = Object.keys(routes).find(
(pathname: string) => matchPath(pathname, `/${routeParams}`)
) || '';

const moduleName = getModuleName(routeParams, routes[configRoute]);

const Module = useRemoteModule(moduleName || DEFAULT_MODULE);

return (

{Module ?  : null}

);
}
Все работает нормально на Chrome/FF, но когда я использую Safari, я в основном получаю эту ошибку, и страница сбои. В другое время (редко) страница успешно загружается. Вот моя ошибка. У меня нет много информации об этом. < /P>
ReferenceError: Cannot access uninitialized variable.
(anonymous function) — virtualExposes-Dh5dHcud.js:5
< /code>
Что может вызвать эту проблему, и есть ли решение для этого? Я использую манифест. Я попытался изменить обоих модульных федераций/среды выполнения и модуля-федерации/времени выполнения/усиления. Изменил конфигурацию федерации, все еще нет результата

Подробнее здесь: https://stackoverflow.com/questions/796 ... t-access-u
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»