问题标签 [single-spa]

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.

0 投票
1 回答
648 浏览

angular - 使用单 SPA 为子应用程序加载自定义字体的最佳方法是什么?

我们在子应用程序中使用了自定义字体真棒图标,目前它作为 Angular 组件加载到子应用程序中。将子应用程序作为单独的应用程序运行时,我们没有任何问题。在将应用程序转换为单个 PA 后,应用程序正在正确加载,但自定义字体未加载,因为它正在父应用程序路径下寻找子应用程序自定义字体文件(.ttf 或 .woff)文件。

我们注意到其他 Angular 组件(例如primeng.

使用单 SPA 为子应用程序加载自定义字体的最佳方法是什么?

0 投票
1 回答
1198 浏览

reactjs - 浏览器刷新显示“page not found”错误,当单spa应用程序部署在子目录中时

我的单水疗中心包含 4 个反应应用程序。每个都有自己的 react-router-dom。如果我从 4 个应用程序之一中刷新浏览器,它会显示找不到页面。应用程序部署在 Linux 操作系统的 apache 服务器中。

我不知道我是否缺少基本应用程序中的任何配置。它在 webpack 和 node 的开发服务器中运行良好。

0 投票
0 回答
95 浏览

javascript - Webpack 开发服务器 writeToDisk 提供与不写入磁盘的服务不同的结果

我目前正在开发一个应用程序(single-spa),它使用来自不同 webpack 捆绑应用程序的输出。

问题是,当使用没有该writeToDisk选项的 webpack-dev-server 时,它可以无缝运行。但是,当使用该writeToDisk选项时,它会在我的应用程序中导致一个奇怪的错误。

我不是在问这里的错误,它只是为了上下文。我在问writeToDiskmemory webpack-dev-server 和 memory webpack-dev-server 有什么区别,我该如何检查它?

0 投票
2 回答
350 浏览

angular - 多个 SPA 的 IIS 重写规则

我们正在为我们的微前端创建一个新架构,并且我们希望避免使用另一个框架来处理它,比如single-spa。我们公司目前将 IIS 用于其他产品,我们需要保持这种方式。

因此,为了让多个 SPA 响应同一个地址,我们只需将我们构建的 SPA 放在 IIS 的内容目录中,如下所示:

IIS 根文件夹:

  • 温泉1
  • 温泉2

我可以正常访问myhost/spa1myhost/spa2浏览他们自己的内部路线(我们使用的是 Angular)。

问题是,我们希望 URL 没有#,并且我们需要告诉 IIS 将任何子路由重定向到它的 SPA 主路由。

我们有一些东西,它适用于myhost/spa1, myhost/spa1/detail,但不适用于myhost/spa1/detail/1。比方说,第三级。

有人可以帮我解决这个问题吗?

0 投票
1 回答
720 浏览

single-spa - 是否可以在单个 spa 框架中嵌套应用程序?

我正在看的是在另一个反应微前端内部有一个有角度的微前端,这是我们可以从单水疗中心实现的吗

0 投票
1 回答
305 浏览

vue.js - 将 single-spa 道具传递给 i18n 实例化

有没有办法将单水疗道具传递给 vue i18n 实例,将其分配给消息 i18n 道具。

I18n 构造函数:

Vue单spa实例:

信息:我无权访问lang渲染功能之外。

基本上,我需要 i18n 消息对象中的 lang 道具。我已经尝试返回 lang,但它进入构造函数,不起作用。我还尝试在收到后重新实例化 i18n/消息,但lang也不起作用。还有其他想法吗?

0 投票
1 回答
136 浏览

reactjs - 将父应用程序(角度)中的 css 排除在单水疗应用程序中的子应用程序(反应)中

我制作了一个单水疗应用程序,其中我使用 angular 作为父项目并将反应包放入其中。现在问题来了,react 正在获取 angular 项目的 CSS。我已经在 react 项目的 webpack.config 文件中排除了特定的 CSS。但这不是我想要的方式。S 应该怎么做?

0 投票
0 回答
658 浏览

webpack - Webpack output.jsonpFunction 无法防止命名冲突

网络包版本"webpack": "^4.32.2",

我有两个 webpack 包,每个包代表一个不同的网站。在这两个我都有不同的模块同名:

./app/shared/logo/logo.jsx

当我在客户端级别(不触发页面重新加载)从网站 A 导航到网站 B

网站 B 尝试使用来自网站 A 的 logo.jsx 并且网站中断。我得到了使用 output.jsonpFunction 的建议,但仍然有相同的结果。

站点 A 配置:

网站 B

0 投票
0 回答
482 浏览

reactjs - 单个 spa 反应应用程序块仅在需要时加载

我已经构建了一个 spa react 应用程序,下面是该应用程序的 index.html

有 2 个应用程序,app1 和 app2,app1 最初加载,app2 仅在需要时加载

index.html 用于 app1 和 app2 的单个 spa 配置

在上面的 index.html 中,通过 systemjs-importmap 配置了应用程序,一切正常。

正如您在 importmap 中看到的,导入 app2("@portal/app2": "http://localhost:8003/app2.js'),这只会在需要时加载,但这个包有点大,我有试图通过提取css和供应商块来提高性能,缩小js和css,这确实提高了性能,这些脚本也被添加了(http://localhost:8003/vendor.app2.js,http://本地主机:8003/app2.css)

app2 的 webpack.config.js

我得到了构建文件 vendor.app2.css、app2.css、app2.js 文件...仅在需要时加载 js,因为它是由 importmap 导入的,并且 css 和供应商位于全局空间中(意味着加载与 app2 无关加载与否)

问题: 如何仅在单个 spa 反应中需要时加载与 app2 的 js 相同的供应商和 CSS?

0 投票
0 回答
821 浏览

react-scripts - Single-Spa:未捕获的错误:应用程序“app1”在状态卸载:unmountComponentAtNode(...):目标容器不是 DOM 元素

我已经使用 Single Spa 的 registerApplication 注册了 4 个反应应用程序。当我从一个应用程序导航到另一个应用程序时,我在控制台中看到错误以及浏览器上的覆盖。

这是我的 index.js 在注册的微应用中的样子:

我正在使用 SystemJS 在 single-spa-config 文件中注册我的应用程序以进行导入,如下所示:

我不知道在哪里调试这个问题。请帮忙!