- remote-app: он успешно строит и генерирует remoteEntry.js, доступный по адресу:
Код: Выделить всё
http://localhost:4201/remoteEntry.js
- host-app: не загружает mfe-app remoteEntry.js с http: // localhost: 4201/remoteentry.js
В приложении хоста я получаю эту ошибку в консоли Browser:
.Код: Выделить всё
Uncaught SyntaxError: Cannot use 'import.meta' outside a module (at remoteEntry.js:3629:29)
, чтобы разрешить это, я попытался следующее:
1. Настроенный Remote-App для использования CommonJS вместо модулей ES
Вот мой remote-app webpack.config.js :Код: Выделить всё
const { shareAll, withModuleFederationPlugin } = require('@angular-architects/module-federation/webpack');
const mfConfig = withModuleFederationPlugin({
name: 'remote-mfe-app',
exposes: {
'./RemoteEntryComponent': './src/app/remote-entry/remote-entry.component.ts'
},
shared: {
...shareAll({ singleton: true, strictVersion: true, requiredVersion: 'auto' }),
}
});
module.exports = {
...mfConfig,
output: {
library: {
type: "commonjs" // Also tried "module" and "umd"
}
},
experiments: {
outputModule: false
}
};
< /code>
[h4] 2. Настроенный Host-App для обработки remoteEntry.js как обыкновения вместо модуля ES [/h4]
Вот мой [b] host-app webpack.config.js
:
const { withModuleFederationPlugin } = require('@angular-architects/module-federation/webpack');
module.exports = withModuleFederationPlugin({
name: 'mfe-host-app',
remoteType: 'commonjs',
remotes: {
'remote-mfe-app': 'alpha-new-business-mfe@http://localhost:4201/remoteEntry.js'
},
shared: {
singleton: true,
strictVersion: true,
requiredVersion: 'auto'
}
});
< /code>
Несмотря на все это. Файл remoteEntry.js по -прежнему генерируется как модуль ES и содержит import.meta , которого я пытаюсь избежать. Ниже приведен фрагмент remoteEntry.js , который вызывает эту ошибку синтаксиса:
ниже. alt = "Введите описание изображения здесь" src = "https://i.sstatic.net/pb77xcdf.png"/>
Любое предложение о том, как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/795 ... rt-meta-ou