【发布时间】:2016-09-26 21:48:36
【问题描述】:
我的 Angular 2 应用程序(最新的完整版本不是 RC 或 beta)设置为与教程 (https://angular.io/docs/ts/latest/guide/router.html) 中的结构相同。当我把
<base href="/" />
在我的 Index.html 上,我收到以下 404 错误:
<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/reflect-metadata/Reflect.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<!-- 2. Configure SystemJS -->
<script src="systemjs.config.js"></script>
这一行产生错误“JavaScript 运行时错误:'System' 未定义” System.import('app').catch(function (err) { console.error(err); });
如果我删除基本标记,以上都很好,但我得到“未设置基本 href。请为 APP_BASE_HREF 令牌提供值或向文档添加基本元素。”
如果我将基本 href 更改为
<base href="app" />
,我也没有收到上述任何 404 错误,但我收到错误“未处理的承诺拒绝:无法匹配任何路由:”
下面是我的 app.routing.ts:
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { BatteriesComponent } from './batteries/batteries.component';
import { CabinetsComponent } from './cabinets/cabinets.component';
import { RacksComponent } from './racks/racks.component';
import { ReportsComponent } from './reports/reports.component';
const appRoutes: Routes = [
{
path: '',
redirectTo: './app/batteries/batteries',
pathMatch: 'full'
},
{ path: 'batteries', component: BatteriesComponent },
{ path: 'cabinets', component: CabinetsComponent },
{ path: 'racks', component: RacksComponent },
{ path: 'reports', component: ReportsComponent }
];
export const appRoutingProviders: any[] = [
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
请帮忙。
谢谢
【问题讨论】:
标签: angular typescript routing