Как сделать так, чтобы база виртуальных каталогов href / IIS не учитывала регистр для приложения angular? - PullRequest
0 голосов
/ 06 апреля 2020

Есть похожий вопрос без правильного ответа.

Если я установлю в app.module.ts:

providers: [
  { provide: APP_BASE_HREF, useValue: '/my/app'},

и наберу localhost: 4200 / my / app

this.location.path()

возвращает правильный путь "".

Однако, если я наберу localhost: 4200 / my / App

this.location.path()

возвращает «/ my / App», что неверно.

По причинам, не входящим в этот вопрос, я задаю проверяет URL. Итак, мой вопрос: как сделать base href нечувствительным к регистру?

Я предполагаю, что установка на IIS не удалась по той же причине.

1 Ответ

1 голос
/ 19 апреля 2020

Я думаю, что лучшим способом может быть заставить IIS перенаправить пользователя на my/app с помощью правил перезаписи. Однако я не знаю IIS, поэтому не могу дать вам решение.

Если вы хотите сделать это в angular, вы можете использовать следующий код. Он обеспечивает APP_BASE_HREF токен динамически с фабрикой

export function baseHrefFactory()
{
  let expectedBaseHref = '/my/app';
  let currentBaseHref = window.location.pathname.substr(0, expectedBaseHref.length);
  //Add checks herre if needed
  return currentBaseHref;
}

@NgModule({
/**/
  providers: [
    {provide: APP_BASE_HREF, useFactory: baseHrefFactory}
  ]
})
export class AppModule
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...