javascript - Webpack 模块联合错误 : Cannot read properties of undefined (reading 'call' )

标签 javascript webpack webpack-module-federation

我正在尝试创建最基本的 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",
      }
    })
  ],
...
Here is the reproduction repo
这个配置有什么问题?
此外,是否可以设置依赖应用程序来导出包含所有公开模块的单个 js 文件(作为单个 webpack 模块)?

最佳答案

您可以在 hostApp 中创建一个新文件“bootstrap.js”来解决此问题。

// 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 不喜欢你这样做。

关于javascript - Webpack 模块联合错误 : Cannot read properties of undefined (reading 'call' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71738820/

相关文章:

javascript - 使用 PHP、javascript 和 HTML 的 MySQL 安全性?

Javascript RegEx 非捕获前缀

reactjs - js 事件未在 webpack 构建的 react 应用程序中触发

meteor - 未捕获的类型错误 : fs. readFileSync 不是函数

javascript - Webpack 模块联合和 react-router-dom

javascript - Jquery 或 Javascript 动画 Z-索引

javascript - Reactjs,json,图像加载

express - 带有 express-handlebars 的 webpack

reactjs - Webpack 5 模块联合微前端和 react-redux 不工作

Angular 模块联合单例服务多次启动