我试图创建最基本的webpack模块联邦证明的概念示例。
Webpack配置在主机应用程序中:
...
plugins: [
new ModuleFederationPlugin({
name: "hostApp",
remotes: {
libApp: `libApp@http://localhost:3000/libApp`,
},
}),
],
...
Webpack配置在依赖程序中:
...
plugins: [
new ModuleFederationPlugin({
name: "libApp",
filename: "libApp.js",
exposes: {
"./moduleA": "./src/moduleA",
"./moduleB": "./src/moduleB",
}
})
],
...
这种配置有什么问题?
另外,是否可以设置依赖程序来导出包含所有公开模块(作为单个webpack模块)的单个js文件?
发布于 2022-05-25 13:53:25
您可以修复这个问题,在hostApp中创建一个新的文件“hostApp”。
// src/bootstrap.js
console.log('host app test')
import moduleA from 'libApp/moduleA'
import moduleB from 'libApp/moduleB'
const el = document.getElementById('hostAppContainer')
el.innerHTML = 'changedContent: ' + moduleA + moduleB
然后将index.js更改为
// src/index.js
import("./bootstrap");
这是由于尝试在初始入口点执行模块联合,webpack不喜欢这样做。
发布于 2022-05-17 05:34:37
我看到了几件事。
remotes
属性在依赖的应用程序中作为返回到主机应用程序的链接。filename
。src
目录中而不是在src/app
目录中是很奇怪的。https://stackoverflow.com/questions/71738820
复制相似问题