Angular 为什么谷歌灯塔返回404的角度重定向路线?
我正在从事一个Ionic Aungular PWA项目,我一直在Chrome中得到一个失败的Lighthouse审计,其中一个404错误表示,对于我重定向到的默认路径(本例中为/home),找不到localhost页面。我已将自动生成的src/app/app-routing.module.ts文件包含在下面。如果替换重定向路径以加载“主”模块,而不是重定向到主路径,则审核成功。有人能解释为什么重定向不起作用吗Angular 为什么谷歌灯塔返回404的角度重定向路线?,angular,ionic-framework,angular-routing,lighthouse,Angular,Ionic Framework,Angular Routing,Lighthouse,我正在从事一个Ionic Aungular PWA项目,我一直在Chrome中得到一个失败的Lighthouse审计,其中一个404错误表示,对于我重定向到的默认路径(本例中为/home),找不到localhost页面。我已将自动生成的src/app/app-routing.module.ts文件包含在下面。如果替换重定向路径以加载“主”模块,而不是重定向到主路径,则审核成功。有人能解释为什么重定向不起作用吗 import { NgModule } from '@angular/core'; i
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
const routes: Routes = [
{
path: 'home',
loadChildren: () => import('./pages/home/home.module').then( m => m.HomePageModule)
},
{
path: '',
redirectTo: 'home',
pathMatch: 'full'
},
{
path: 'create-restaurant-menu',
loadChildren: () => import('./pages/page2/page2.module').then( m => m.Page2Model)
}
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule { }
您是否按照建议使用http服务器进行测试?如果是这样:您应该知道
httpserver
不会将404转发到index.html
。在审计期间,灯塔将刷新几次。如果SPA同时更改了路径,http服务器
将找不到与该路径匹配的文件,只需返回404即可
这当然是相当讽刺的,因为Lighthouse和Angular都是由Google开发的,但他们没有意识到他们的指令可能会破坏他们自己的工具。更具讽刺意味的是,Angular文档建议首先使用HTTPServer
,而它的维护人员明确表示()它将不支持SPA
我建议使用http服务器代替http服务器。如果添加选项--single
,它将“将所有未找到的请求重写到index.html
”。让我知道这是否解决了您的审计问题