logologo
指南
实践
配置
插件
案例
博客
生态
Module Federation Examples
Practical Module Federation
Zephyr Cloud
Nx
简体中文
English
指南
实践
配置
插件
案例
博客
Module Federation Examples
Practical Module Federation
Zephyr Cloud
Nx
简体中文
English
logologo

开始

介绍
设置环境
快速上手
功能导航
名词解释
npm 包

基础

运行时

Runtime 接入
Runtime API
Runtime Hooks
Rsbuild Plugin
Rspack 插件
Webpack Plugin
Rspress Plugin
Vite Plugin
Metro
类型提示
命令行工具
样式隔离

数据管理

数据获取
数据缓存
Prefetch

框架

Modern.js
Next.js

部署

使用 Zephyr Cloud 部署

调试

开启调试模式
Chrome Devtool
全局变量

Troubleshooting

概览

运行时

RUNTIME-001
RUNTIME-002
RUNTIME-003
RUNTIME-004
RUNTIME-005
RUNTIME-006
RUNTIME-007
RUNTIME-008
RUNTIME-009

构建

BUILD-001
BUILD-002

类型

概览
TYPE-001
其他
Edit this page on GitHub
Previous PageRUNTIME-004
Next PageRUNTIME-006

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