Invalid loadShareSync function call from bundler runtime

  • Error Code: RUNTIME-005

原因

设置共享依赖后,对应的依赖库会被判定为异步模块,如果没有开启异步入口,并且没有设置 eager: true,那么会发生此错误。

解决方法

两者选一即可:

  1. 开启异步入口

如果使用了 @module-federation/modern-js 插件,那么默认会根据构建器类型开启对应的异步入口。

但如果是构建模式 ,那么仍需要手动设置异步入口。

接下来将示例如何开启异步入口。

创建 bootstrap.js 文件,并复制原入口文件的内容于此:

bootstrap.js
+ import React from 'react';
+ import ReactDOM from 'react-dom';
+ import App from './App';
+ ReactDOM.render(<App />, document.getElementById('root'));

修改原入口文件内容,改为引用 bootstrap.js:

index.js
+ import('./bootstrap');
- import React from 'react';
- import ReactDOM from 'react-dom';
- import App from './App';
- ReactDOM.render(<App />, document.getElementById('root'));
  1. shared 设置 eager: true
ON THIS PAGE