Angular 2 rc.5 从 rc.4 更新后无法刷新页面
Angular 2 rc.5 unable to refresh page after updating from rc.4
我刚刚将我的应用程序从 rc.4 更新到 rc.5,我遇到了一个奇怪的错误。
当我点击 localhost:8080
时,我按预期被重定向到 localhost:8080/browse
,但是当我点击浏览器刷新按钮时,出现以下错误:Cannot GET /browse
.
注意:在哈希被添加到 URL 之前,即 localhost:8080/#/browse 但不是没有添加。
这是我的路线:
const routes: Routes = [
{
component: DashboardComponent,
path: 'browse'
}, {
component: ProductViewportComponent,
path: 'project/:id'
}, {
path: '',
pathMatch: 'full',
redirectTo: '/browse'
}
];
export const routing: any = RouterModule.forRoot(routes);
如果您使用 Node.js,那么您必须将所有内容重定向到 index.html 文件。
app.use('*', function(req, res) {
res.render('index.html');
});
不知道是res.render
还是res.redirect
(不过这不重要,我只是给了你一个主意)。
顺便试试编辑
redirectTo: '/browse'
到 redirectTo: 'browse'
问题是我在不知不觉中从 HashLocationStrategy 更改为 PathLocationStrategy
我刚刚将我的应用程序从 rc.4 更新到 rc.5,我遇到了一个奇怪的错误。
当我点击 localhost:8080
时,我按预期被重定向到 localhost:8080/browse
,但是当我点击浏览器刷新按钮时,出现以下错误:Cannot GET /browse
.
注意:在哈希被添加到 URL 之前,即 localhost:8080/#/browse 但不是没有添加。
这是我的路线:
const routes: Routes = [
{
component: DashboardComponent,
path: 'browse'
}, {
component: ProductViewportComponent,
path: 'project/:id'
}, {
path: '',
pathMatch: 'full',
redirectTo: '/browse'
}
];
export const routing: any = RouterModule.forRoot(routes);
如果您使用 Node.js,那么您必须将所有内容重定向到 index.html 文件。
app.use('*', function(req, res) {
res.render('index.html');
});
不知道是res.render
还是res.redirect
(不过这不重要,我只是给了你一个主意)。
顺便试试编辑
redirectTo: '/browse'
到 redirectTo: 'browse'
问题是我在不知不觉中从 HashLocationStrategy 更改为 PathLocationStrategy