当我加载我的反应查询依赖项时,我收到以下错误:(我对其他库也遇到类似的错误)
Error: Unsatisfied version ^30.3.0 of shared singleton module react-query (required ^3.30.0)
在我的 shell 应用程序和 MFE 中,我有以下配置:
'react-query': {
singleton: true,
eager: true,
strictVersion: true,
version: '^30.3.0',
},
在这两个应用程序中,我在
package.json
中都有以下内容:
'react-query': '^3.30.0',
问题是什么?
strictVersion 设置为 true 将导致应用程序失败。如果未指定 requiredVersion,webpack 不仅会尝试从主 package.json 获取版本,还会尝试从 node_modules 中使用“react-query”的任何 npm 包获取版本。您是否尝试过在 webpack 配置中指定版本 requiredVersion ?
....
const deps = require('./package.json').dependencies;
....
plugins: [
new ModuleFederationPlugin({
name: 'AppName',
filename: 'remoteEntry.js',
remotes: {},
exposes: { './componentA': './src/components/componentA/componentA.js' },
shared: {
...deps,
'react-query': {
singleton: true,
requiredVersion: deps['react-query'],
}
},
}),