首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Webpack模块联合错误:无法读取未定义属性(读取“调用”)

Webpack模块联合错误:无法读取未定义属性(读取“调用”)
EN

Stack Overflow用户
提问于 2022-04-04 14:17:26
回答 2查看 4K关注 0票数 9

我试图创建最基本的webpack模块联邦证明的概念示例。

Webpack配置在主机应用程序中:

代码语言:javascript
运行
复制
...
  plugins: [
    new ModuleFederationPlugin({
      name: "hostApp",
      remotes: {
        libApp: `libApp@http://localhost:3000/libApp`,
      },
    }),
  ],
...

Webpack配置在依赖程序中:

代码语言:javascript
运行
复制
...
  plugins: [
    new ModuleFederationPlugin({
      name: "libApp",
      filename: "libApp.js",
      exposes: {
        "./moduleA": "./src/moduleA",
        "./moduleB": "./src/moduleB",
      }
    })
  ],
...

这是复制回购

这种配置有什么问题?

另外,是否可以设置依赖程序来导出包含所有公开模块(作为单个webpack模块)的单个js文件?

EN

回答 2

Stack Overflow用户

发布于 2022-05-25 13:53:25

您可以修复这个问题,在hostApp中创建一个新的文件“hostApp”。

代码语言:javascript
运行
复制
// 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更改为

代码语言:javascript
运行
复制
// src/index.js

import("./bootstrap");

这是由于尝试在初始入口点执行模块联合,webpack不喜欢这样做。

票数 2
EN

Stack Overflow用户

发布于 2022-05-17 05:34:37

我看到了几件事。

  1. 我认为remotes属性在依赖的应用程序中作为返回到主机应用程序的链接。
  2. 类似地,我认为在主机应用程序的远程访问配置中需要一个filename
  3. 在我看来,让依赖的应用程序直接在src目录中而不是在src/app目录中是很奇怪的。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71738820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档