我已经建立了角度项目并运行它。但是localhost不会自动重定向到index.html,我必须手动键入localhost:8080 / index.html。我该如何解决这个问题? 在Windows(角度版本为8)上,我遇到了这个问题,但是在Linux和Mac上,一切正常。
由于我从stackoverflow找到了这个建议,因此我尝试了更改基本href甚至删除了它。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>PsAir</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
应用路由文件:
const routes: Routes = [
{
path: routesNames.AUTH,
loadChildren: './auth/auth.module#AuthModule',
canActivate: [AuthGuard]
},
{
path: '',
loadChildren: './main/main.module#MainModule',
canActivate: [AuthGuard],
data: { checkAuth: true }
},
{
path: '**',
redirectTo: '../index.html',
pathMatch: 'full'
}
];
答案 0 :(得分:0)
使用angular-http-server代替http-server解决了该问题。
它返回一个文件(如果存在)(例如your-icon.png,index.html),将所有其他请求路由到index.html(而不是发出404错误),以便您的SPA路由可以接管。只有在找不到index.html文件时,它才会出错。 Read more about angular-http-server here.