WP5 模块联合:共享深度导入

问题描述

假设我有以下模块联合设置:

new ModuleFederationPlugin({
  name: 'shell',filename: 'shellDeFinition.js',shared: {
      'my-shared-lib': { singleton: true,eager: true,requiredVersion: '^1.0.0' }
  },})

这让我与遥控器共享如下导入:

import { myThing } from 'my-shared-lib';

但是,如果我想共享一个深度导入,例如以下内容怎么办?

import myThing from 'my-shared-lib/things';

使用上述设置执行此操作似乎会在主机和任何遥控器中创建模块的单独实例,这可能是可以理解的,因为我们在技术上并未共享深度导入。但是,有没有办法让模块联合这样做?

解决方法

您应该能够将深度导入为:

shared: {
  'my-shared-lib': { singleton: true,eager: true,requiredVersion: '^1.0.0' }
  'my-shared-lib/things': { singleton: true,requiredVersion: '^1.0.0' }
}

它们仍然是两个独立的块,但将由多个远程/主机共享。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...