2016-10-14 1 views
2

Я создаю веб-сайт с угловым (2) SPA в качестве компонента, используя ui-router-ng2. Я хотел бы сделать что-то вроде:Как можно разместить приложение Angular 2 в любом месте, кроме корневого пути?

  • http://example.com/ -> По умолчанию (статический) домашней страницы, со ссылкой на SPA
  • http://example.com/app -> SPA
  • Все остальное -> Статические страницы

Таким образом, маршрут «foo.bar» должен иметь URL-адрес «/ app/#/foo/bar». Мой сервер (написанный на Go) правильно обрабатывает маршрутизацию, но SPA заменяет адреса путями по отношению к корню вместо «/ app» («/ #/foo/bar» вместо «/ app/#/foo/бар"). Как сообщить Angular, где я хочу, чтобы СПА жил?

ответ

2

Попробуйте установить базовый тег в голове:

<base href="http://your-app/root-angular-path/"> 

Или вы можете установить его непосредственно в модуле App:

// >= Angular2 RC.6 
@NgModule({ 
    declarations: [AppComponent], 
    imports: [RouterModule], 
    providers: [ 
    {provide: APP_BASE_HREF, useValue : 'http://my-app/angular/' }, 
    {provide: LocationStrategy, useClass: HashLocationStrategy} }, 
    ] 
]); 
Смежные вопросы