Angular2 + Cordova - 无法在启动时匹配任何路由

时间:2016-06-17 12:32:41

标签: android angular cordova

当我为Android构建它时,我遇到了Angular2应用程序的问题(可能这个问题也发生在iOS上,但我还没有测试过它)。在启动时,我收到以下错误消息:

EXCEPTION: Error: Uncaught (in promise): Cannot match any routes. Current segment: 'android_asset'. Available routes: ['', '/login', '/register', '/lostpw', '/resetpw', '/content'].

由于应用程序的首页无法加载。为了让应用程序运行,我必须从

替换index.html中的base-tag
 <base href="/">

 <base href="file:///android_asset/www/" target="_blank">

但如上所述,现在路由器尝试解析android_asset。在应用程序中,我可以点击菜单条目,如

 <a [routerLink]="['/']">Home</a>

我成功地被重定向到了主路线。

有人知道如何在启动时解决问题吗?

版本:Angular 2.0.0-rc.1

3 个答案:

答案 0 :(得分:2)

重定向到主页

export const StartRoutes: RouterConfig = [ { path: '', redirectTo: '/home' } ];

答案 1 :(得分:1)

这对我有用

在家庭路由模块中添加

{ path: '**', redirectTo: '/' }

<base>标记更改为

 <base href="./">

答案 2 :(得分:0)

对我来说,决议是使用'./'作为基础href。这解决了这个问题以及其他一些问题。