ngx-rocket yeoman 생성기를 사용하여 Angular 4 앱의 일부 페이지 경로를 성공적으로 설정했습니다. 예를 들어 나는 '먹다'라는 페이지를 만들었고 www.haakon.io에서 내 홈페이지로 이동 한 다음 먹는 링크를 클릭하면 해당 페이지로 이동합니다. 해당 링크를 브라우저에 입력하면 (예 : http://www.haakon.io/eat) 탐색을 시도하면 404 오류 페이지가 표시됩니다. 이 문제는 깊은 연결 문제와 관련이 있다는 것을 알고 있지만 각도 1.5 솔루션을 시도했지만 작동하지 않습니다. 특히 내가 기본 href 내 index.html 페이지에서 설정 한 :Angular 4 ngx-rocket 딥 링크 라우팅 문제
여기import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
// Fallback when no prior route is matched
{ path: '**', redirectTo: '', pathMatch: 'full' }
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule],
providers: []
})
export class AppRoutingModule { }
내 route.service.ts입니다 : 여기
<base href="/"/>
내 앱 routing.module.ts 파일입니다
import { Routes } from '@angular/router';
import { ShellComponent } from './shell/shell.component';
/**
* Provides helper methods to create routes.
*/
export class Route {
/**
* Creates routes using the shell component and authentication.
* @param routes The routes to add.
* @return {Routes} The new routes using shell as the base.
*/
static withShell(routes: Routes): Routes {
return [{
path: '',
component: ShellComponent,
children: routes
}];
}
}
그리고 마지막으로 내 먹을-routing.module.ts :
import { Route } from '../core/route.service';
import { extract } from '../core/i18n.service';
import { EatComponent } from './eat.component';
const routes: Routes = Route.withShell([
{ path: 'eat', component: EatComponent, data: { title: extract('Eat') } }
]);
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
providers: []
})
export class EatRoutingModule { }