Angular通用SSR动态绝对基架路径

问题描述 投票:0回答:1

嘿,我有基于此starter kit的应用程序>

我从server.ts部署具有SSR功能的应用。

并且该应用程序通过Apache反向代理“动态地”提供给localhost:4002的多个域。

domainA.comdomainB.com指向具有rev代理的相同localhost:4002。

到目前为止一切顺利。

但是现在我有要求它可以在我们的合作伙伴反向代理下工作,看起来像这样partner.com/app/将反向代理到partner.domainA.com

加载JS时会引起很多问题。

当前base-href设置为/,这在我们的站点上很好用。但是当用户转到partner.com/app时,浏览器会尝试从partner.com/*.js加载所有JS资产,而这些资源仅在partner.com/app/*.js上可用。

我可能的解决方案是在请求到达时从server.ts设置APP_BASE_HERF

但是我尝试过的每件事似乎都没有用。

[我尝试遵循此guide,但它似乎不起作用,并且它正在从window对象加载url,而我需要从仅可从req.headers.host获得的原始主机中进行设置

server.ts中:

  res.render(
'../dist/index',
{
  req: req,
  res: res,
  // provers from server
  providers: [
    // for http and cookies
    {
      provide: REQUEST,
      useValue: req,
    },
    {
      provide: RESPONSE,
      useValue: res,
    },
    /// for cookie
    {
      provide: NgxRequest,
      useValue: req,
    },
    {
      provide: NgxResponce,
      useValue: res,
    },
    // for absolute path
    {
      provide: 'ORIGIN_URL',
      useValue: `${http}://${req.headers.host}`,
    },
  ],
},

有没有一种方法可以将ORIGIN_URL放在index.html base-herf中?以这种方式设置基架的当前方法是什么?

谢谢

[嘿,我有基于该入门工具包的应用程序,我从server.ts部署了具有SSR功能的应用程序。并且使用Apache反向代理“动态”为localhost:4002提供该应用程序,用于多个...

angular express server-side-rendering angular-universal
1个回答
0
投票

为什么要使用命令为该域构建应用程序

© www.soinside.com 2019 - 2024. All rights reserved.