如何从另一个网站使用 Angular 应用程序

Veg*_*ter 4 angular

  1. 我的 Angular 应用程序托管在www.A.com上,
  2. 我的客户有一个托管在www.B.com 的网站
  3. 我需要让我的客户在他的网页上插入 Angular 应用程序,而无需将应用程序文件复制到他的网站。我希望我的客户只需添加一些 HTML 代码来引用我原来的www.A.com网站中的文件。

因此,在某些页面上www.B.com/somepage.html客户会输入类似的内容:

<base href="https://www.A.com" />
<app-root></app-root>
<script src="runtime.469fa17746b90e8a757c.js" defer></script>
<script src="polyfills.35a5ca1855eb057f016a.js" defer></script>
<script src="scripts.3cf90f8fc92130239739.js" defer></script>
<script src="main.f229882672708596d13b.js" defer></script>
Run Code Online (Sandbox Code Playgroud)

我尝试了这种方法,但遇到了一大堆与 CORS 和 CORB 相关的问题。

有谁对网页如何使用来自另一个域的 Angular 应用程序有明确的路径吗?

编辑注释 1:使用 iframe 的解决方案对我们不起作用,因为它会对 SEO 产生负面影响(谷歌因此惩罚我们),因此我们不能在我们的网站上使用带有外部链接的 iframe。

编辑注释 2: 我拥有www.A.com的所有权(因此我可以调整从外部网站使用我的应用程序所需的任何配置/HTTP 标头)

小智 6

我们可以通过多种方式做到这一点

  1. 您可以使用子域来指向其他项目,
  2. 您可以使用 Iframe 来加载它并设置其样式。
  3. 您可以将您的一个应用程序作为独立模块并将其作为 NPM 模块并在另一个应用程序中使用它。

  • 感谢@Mahesh 的努力,但让我评论一下你的观点:1)我不控制客户的域(子域)。我需要将我的应用程序保留在我的独立域中。2) 由于 Google 的 SEO 惩罚,iframe 对于公共网站来说并不是一个好的解决方案。3) 模块将在构建阶段复制到主应用程序中,然后复制到客户的网站,因此无法从原始位置重用。 (2认同)