Angular2-仅在服务器上而不是本地主机上路由时出错
解决方案(这不是一个真正的解决方案,所以我只提出了这个问题): 毕竟,它仍然是大写/小写的问题。我的Angular2-仅在服务器上而不是本地主机上路由时出错,angular,angular2-routing,Angular,Angular2 Routing,解决方案(这不是一个真正的解决方案,所以我只提出了这个问题): 毕竟,它仍然是大写/小写的问题。我的总体admin.routing.ts文件在以前的版本中是大写的,但后来我将它们改为小写。然而,我的module.ts仍然是指总体管理路由.ts(大写)。另外,有趣的是,服务器中有一个大写的总体admin.routing.js。因此,系统会继续参考旧的路由文件。当我删除这个旧的路由文件时,它在module.ts上为我升级了一个错误 404,未找到总体管理路由.js 这时我才意识到我仍然在我的模块.t
总体admin.routing.ts
文件在以前的版本中是大写的,但后来我将它们改为小写。然而,我的module.ts
仍然是指总体管理路由.ts
(大写)。另外,有趣的是,服务器中有一个大写的总体admin.routing.js
。因此,系统会继续参考旧的路由文件
。当我删除这个旧的路由文件
时,它在module.ts
上为我升级了一个错误
404,未找到总体管理路由.js
这时我才意识到我仍然在我的模块.ts
中引用总体管理路由.ts
(大写)。将引用更改为总体管理路由.ts
(小写)后。它起作用了
这并不是一个技术方面的问题,但我希望,如果有人发现这篇文章,可以更加小心地命名,不要浪费时间和精力像我一样“调试”这些东西
原职:
这个问题可能有点不寻常,但它确实发生了(可悲的)
我正在编写一个angular2 web应用程序,我使用惰性加载加载到各种组件中,然后在这些组件中导航
所有这些都可以正常工作,但有一个在我的本地主机(使用npm start)中可以工作的特定程序,然而,当我上传到服务器时,它不工作。它给了我这个错误:
异常:未捕获(承诺中):错误:无法匹配任何路由:
“总体管理/确认”
当我按下按钮时,我需要导航到这个新页面
下面是我的路由.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>
因此,当我按下按钮启用用户
时,组件.ts
应该导航到['otheral-admin/confirm']
以显示总体确认组件
但正如我上面提到的,它在本地主机上工作,但在服务器上不工作。
我试图消除所有案例的差异,多个不同案例的文件,都不起作用
知道我能做什么吗?尝试启用HashLocationStrategy
。如果这解决了您的问题,您的服务器需要更改配置以支持HTML5 PushState您的服务器是什么?节点?这是Node发出的错误消息吗?@GünterZöchbauer,谢谢你的回复,我解决了。请查看我的主页中的更新question@Gudin,谢谢你的回复,我解决了。请查看我问题中的更新
submitFormDisable(value: any){
this.router.navigate(['overall-admin/confirm']);
}