解决方案(它不是真正的解决方案,所以我只把它放在问题中):
毕竟,它仍然是大写/小写问题。我的overall-admin.routing.ts
文件在之前的版本中是大写的,但我随后将它们更改为小写。但我的module.ts
仍指Overall-admin.routing.ts
(大写)。另外,有趣的是,服务器中有Overall-admin.routing.js
的副本是大写的。因此系统会继续引用旧的routing file
。当我删除旧的routing file
时,它会在module.ts
404,未找到
Overall-admin.routing.js
当我意识到我仍然在Overall-admin.routing.ts
中提到module.ts
(大写)时。将引用更改为overall-admin.routing.ts
(小写)后。它起作用了......
这不是技术方面的事情,但我希望如果发现这篇文章的人可以对他们的命名更加小心,并且不要浪费时间和精力来调试'这些像我一样。
原帖:
这个问题可能有点不寻常,但确实发生了(遗憾的是)。
我正在编写一个angular2 web应用程序,我正在使用延迟加载加载到各种组件中,然后在这些组件中导航。
一切正常,但是这个特定的一个在我的localhost中运行(使用npm start),但是,当我上传到服务器时它不起作用。它给了我这个错误:
EXCEPTION:未捕获(承诺):错误:无法匹配任何路线: '整体管理员/确认'
当我按下按钮时,我将需要导航到这个新页面。
以下是我routing.module.ts
的一部分:
const overallAdminRouting: Routes = [
{
path: '',
component: OverallAdminComponent,
children: [
{
path: 'confirm',
component: OverallConfirmComponent
}
]
}
];
关注我的html
:
<!-- language: lang-html -->
<button type="button" class="btn btn-default"
(click)="submitFormEnable(adminForm.value)"
>Enable User</button>
然后我的component.ts
submitFormDisable(value: any){
this.router.navigate(['overall-admin/confirm']);
}
因此,当我按下按钮Enable User
时,component.ts
应导航至['overall-admin/confirm']
以显示OverallConfirmComponent
。
但就像我上面提到的那样,它在我的localhost中工作,但不在我的服务器上。 我试图消除所有案例的差异,不同案例的多个文件,都不起作用。
知道我能做什么吗?