我有一些工作要做,但我不知道为什么,我想知道为什么!
我的应用程序在带有Webpack-dev-server 2.9.5的Angular 5中。
起初,我使用HashLocationStrategy进行路由,但是当我尝试实现OpenId connect时,似乎必须更改。
OpenID在URL的末尾需要一个redirectURL,所以我应该有这样的内容:https://openid.com/redirectUrl=https://localhost:9446/#/openid
。
但是对我来说不幸的是,考虑到它跳过了#号之后的所有内容,将我重定向到https://localhost:9446/
而不是https://localhost:9446/#/openid
,所以效果并不理想。
因此,我不得不更改为PathLocationStrategy,这样我才能拥有https://openid.com/redirectUrl=https://localhost:9446/openid
。
现在我的问题是,OpenID在正确的位置正确地重定向了我,但是我的应用不想路由我的组件。 (以前曾经工作过)
export const OPENLOGIN_ROUTE: Route = {
path: 'openid',
component: OpenidComponent
};
我没有加载页面,而是在屏幕的左上方显示了“无法获取/ openid”。
我想出了一个解决方案,方法是添加我的webpack.dev:
devServer: {
historyApiFallback: {
rewrites: [
{from: /openid/, to: '/#/openid'},
]
},
效果很好,但我不知道为什么 ..
如何将/ openid重定向到/#/ openid解决我的问题?
我希望它是可以理解的,谢谢您的帮助。