Маршрутизация Angular2. Косая черта в конце URL

У меня проблемы с маршрутизацией.

Когда я добавляю в URL-адрес «myapp.com/route» еще одну косую черту в конце, например «myapp.com/route/», мои ресурсы загружаются с «myapp.com/route/...».

Например: у меня есть библиотека, которую нужно загрузить с myapp.com/starwars.js, но с косой чертой она будет загружена с myapp.com/route/starwars.js. http://prntscr.com/9gpeen

Но нормально без косой черты http://prntscr.com/9gpepv

Код

import {Component} from 'angular2/core';
import {Route, RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router'
  import {NotFound} from './notfound/notfound';
import {TimerComponent} from './timer/timer.component'

  @Component({
    selector: 'my-app',
    template:`
      <a [routerLink]="['Timer']">Timer</a>
      <router-outlet></router-outlet>
      `,
    directives: [ROUTER_DIRECTIVES]
  })
  @RouteConfig([

    { path: 'timer/', name: 'Timer', component: TimerComponent},
    new Route({path: '/**', component: NotFound})
  ])
  export class AppComponent { }

Спасибо за ваши ответы!


person Dikaz 1    schedule 21.12.2015    source источник


Ответы (1)


Я не знаю, как вы включаете свой starwars.js, но, вероятно, он связан с текущим URL-адресом. Вот почему он разрешается на неправильный адрес, когда в вашем адресе есть косая черта.

Вы можете попробовать добавить базовый URL на свою страницу:

<base href="/">

При этом вы гарантируете, что все относительные адреса будут разрешены относительно `/``.

Для получения дополнительной информации см. Angular 2 документа здесь.

person Umut Benzer    schedule 07.01.2016
comment
это было проблемой для меня, мой тег ‹base› был не в том месте, упс! спасибо! - person trickpatty; 15.05.2016