2016-07-06 2 views
0

Я настроил маршруты Angular2 с параметрами. Когда я нахожусь /censo/119 или /viaje/119 от одного из [routerLink] Я определил, что он отлично работает. Но когда я перехожу прямо к адресу http://localhost:3000/censo/119, я получаю 404.URL-адрес параметра Angular2 не работает при непосредственном посещении

Я использую lite-server для моего приложения для разработки.

Не хватает конфигурации? Нужно ли использовать другой сервер?

Это мой app.routes.ts

const routes: RouterConfig = [ 
    { path: '', component: CensoComponent }, 
    { path: 'censo', component: CensoComponent }, 
    { path: 'viajes', component: ViajesComponent }, 
    { path: 'censo/:viaje', component: CensoDetailComponent }, 
    { path: 'viajes/:viaje', component: ViajesDetailComponent }, 
]; 

И это мое routerLinks

<a [routerLink]="['/censo']">Censo</a> 
<a [routerLink]="['/viajes']">Viajes</a> 
<a [routerLink]="['/censo',119]">Censo 119</a> 
<a [routerLink]="['/viajes',119]">Viaje 119</a> 
<router-outlet></router-outlet> 

EDIT

Я добавил bs-config.json, но я получаю такое же поведение.

{ 
    "port": 8000, 
    "files": ["./**/*.{html,htm,css,js}"], 
    "server": { "baseDir": "." } 
} 

Это то, что я получаю в браузере. May it has something to do with systemjs?

И это моя структура проекта, если это помогает.

./

./app

Благодаря

+0

ваших маршруты выглядят фантастическим северо-восток Пожалуйста, см. Мой ответ на этот пост. https://stackoverflow.com/questions/38209427/angular-2-tutorial-on-os-x-el-capitan-returns-cannot-get-in-browser/38209590#38209590 –

+0

При посещении ссылки из 'routerLink' какой URL-адрес находится в браузере? –

+0

@AleksandrM это 'http: // localhost: 3000/viajes/119' – Darkade

ответ

0

Вы должны запустить lite-server команду из того же места, как ваш index.html. По умолчанию используется контент из текущей папки, открывается браузер и применяется резервное копирование HTML5 к index.html.

Если вы по какой-то причине не может выполнить команду из этой папки и ваш index.html находится в src карте, которая является дочерним папке, где вы выполнили облегченная-сервер от, вы должны добавить bs-config.json файл с server и baseUrl свойства как это:

{ 
    "server": { "baseDir": "./src" } 
} 

и запустить облегченный-сервер, как это, в зависимости от имени файла вашей конфигурации, и на месте:

lite-server -c ./bs-config.json 
+0

Я запускаю его как «npm run lite-server», а мои 'package.json' и' index.html' находятся в одной папке. Нужно ли что-нибудь еще в 'index.html' помимо' '? Благодарю. – Darkade

+0

Спасибо. Я добавил «bs-config.json», но я получаю такое же поведение. – Darkade

Смежные вопросы