问题标签 [webpack-module-federation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nuxt.js - 如何在 nuxt 应用程序中使用 moduleFederationPlugin
最新版本的 nuxt 是否支持“webpack 5”和“ moduleFederationPlugin ”?如果答案是否定的,我如何在 nuxt 中使用此功能?或者在 nuxtjs 中制作 microfront 的解决方案是什么?请帮助我,tnx
vue.js - Vue 2 与 Webpack 模块联合
我正在使用 Vue 2,并且正在使用 vue cli 4 创建两个新项目。我正在选择从 cli 创建项目的默认选项。我在两个项目中都创建了一个vue.config.js
文件,并插入了以下代码。主机项目:
远程项目:
我的 package.json 文件是这样的:
尝试使用 npm 构建项目时出现以下错误。
vue.js - Vue 3 + 模块联合
我正在尝试使用 Vue3 和 Module Federation 构建一个简单的微前端示例,但我遇到了冲突问题。
我在这里有代码: https ://github.com/ghalex/mf-example
只有两个 mf:
- 容器(Vue3)
- 身份验证(Vue3)
我遇到的问题是,当我导入 App.vue 组件时:
在auth模块中并将模块加载到容器中,App.vue 组件被覆盖。
我是否缺少任何 webpack 设置以确保每个组件都单独加载?
reactjs - Webpack 5 + Module Federation + React JS 在同一个屏幕上服务多个模块
我们正在将我的项目迁移到模块联合。在这个过程中,容器项目必须不断地以地图为基础呈现。其他微项目应通过容器项目中的按钮打开。
我无法克服远程项目在容器中破坏地图的问题。
容器 webpack.config.js
容器索引.html
远程项目 webpack.config.js
远程 index.html
反应用法:
webpack - Webpack 模块联合
我试图配置一个简单的模块联合,如下所示。
webpack.config1
index.js
Gallery.js
webpack.config2
我收到这条消息:
entryPoint.js":1 Uncaught (in promise) ScriptExternalLoadError: Loading script failed. (missing: http://localhost:3000/entryPoint.js) while loading "./Gallery" from webpack/container/reference/Picture at Object. webpack/container/reference/Picture (entryPoint.js":1) at webpack_require (bootstrap:24) at handleFunction (remotes loading:33) at remotes loading:52 at Array.forEach () at Object. webpack_require .f.remotes (remotes loading:15) at ensure chunk:6 at Array.reduce () at Function. Function.fn.e 处的webpack_require .e(确保块:5)(热模块更换:81)
angular - 带有令牌注入的 Angular Webpack 模块化联合
我正在创建微前端项目。我面临令牌注入问题。
我有一个库项目,由 mfe1 使用,然后加载到 shell 应用程序中。
库模块
从 mfe1,
在模块导入中
现在,当我加载mfe1
配置时,配置已正确加载并且一切正常,但是当我mfe1
通过shell
应用程序加载时,它会返回错误。
外壳应用程序错误
环境
环境
angular - 通过模块联合动态加载微前端时的代码结构
我拿起了https://www.angulararchitects.io/en/aktuelles/multi-framework-and-version-micro-frontends-with-module-federation-the-good-the-bad-the-ugly的 git 示例/进一步引用为Ex。1 和https://www.angulararchitects.io/en/aktuelles/dynamic-module-federation-with-angular/进一步引用为 Ex。2.
前任。1 中有多个角度项目。为了简化起见,只需使用 shell 和 mfe1(微前端 1)。该示例对每个项目使用package.json
and angular.json
,我想使用它是因为在现实世界中,我们可能有很多微前端,并且不想一次更新所有依赖项或管理所有依赖项。在这个例子中,罪魁祸首是它使用了 aWrapperComponent
和 a registry.ts
。当一个路由被激活时,它会通过这个函数延迟加载:
registry
包含一个映射,如
AFAIK 发生了一些“webpack 魔术”来进行导入,并mfe1
通过webpack.config.js
. 这意味着我需要在编译时知道微前端的数量和名称。
前任。2 使用动态方法,通过使用LookupService
以及构建路线的功能
现在,我想结合这两种方法。所以,我复制了 Ex 的方法。2 进入前。1,现在正在努力解决以下问题。
当简单地公开AppModule
ofmfe1
并动态加载它时,我有多个RouterModule.forRoot()
调用,这是无法避免的,因为mfe1
并且shell
也应该独立工作。这会导致错误。所以,我只是做了一个“虚拟” AppModule
,调用RouterModule.forRoot()
并有一条指向另一个模块的路径,该模块仅使用RouterModule.forChild()
(FlightsModule
在示例中称为)。这个另一个FlightsModule
是动态加载的shell
,因此不再多次调用RouterModule.forRoot()
. 这是必要的还是有其他选择?
因为我只能加载 的一个“子模块” mfe1
,所以我需要转移几个常用文件的内容。mfe1/src/styles.css
对于全局样式,需要将其移动到始终由路由激活的组件,encapsulation: ViewEncapsulation.None
以使其全局可访问,例如在ngx-toastr
需要使用时。微前端不能使用中的styles
选项,因为它在加载到. 通常导入和声明的所有内容都需要转移到子模块。等等...angular.json
shell
AppModule
最后,我认为这种方法绝对不是最好的,但我尝试了很多不同的东西,除了这个,没有一个是有效的。
angular - Angular MFE - WebPack5 - 模块联合 - 图像路径问题
我们正在使用 Module Federation WebPack 5 创建一个 MFE 角度应用程序,并最终遇到了图像源路径的问题。当我们单独运行 MFE 时,图像正在加载localhost:5000/assets/../angular.png
( 4200) 并且localhost:4200/assets/../angular.png
当我们运行 shell 应用程序时,应用程序正在尝试从 shell 的资产文件夹 () 访问图像。
我们手头有两个选择:
- 将这些图像移动到 MFE 外部的公共文件夹并参考
- 使用配置文件中的基本路径动态设置图像路径
我们使用下面的示例进行测试,但在下面的示例中,angular.png 文件在 MFE1 和 Shell 中都可用,但如果我们从 Shell 中删除它,当我们加载 shell 应用程序时它将无法工作。
源参考代码示例(感谢@manfredsteyer)
MFE 中的任何其他解决方案可以解决此问题吗?