尝试到达 Angular 通用 (SSR) 路由给出 404(无法获取)
Trying to reach Angular Universal (SSR) route gives 404 (Cannot Get)
我创建了一个 SSR Angular 应用程序,我想通过 api 或邮递员联系它。
我需要从 SSR 应用程序生成的 html。
应用程序的路由如下:
const routes: Routes = [
{
path: 'test',
component: TestComponent
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
如果我在 Chrome 中导航到 http://localhost:4200/test
,我将成功路由到 TestComponent
并显示内容
如果我在 Postman 中输入 angular 应用程序 (http://localhost:4200
) 的根目录,我会得到 200 并且 html 显示为响应。
但是 如果我在 postman (http://localhost:4200/test
) 中输入测试路由,我得到一个 404,响应中的内容是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /test</pre>
</body>
</html>
我在这里错过了什么?我没有配置任何代理,我也没有尝试访问 api 路由。
4200为客户端开发端口
如果您想测试 SSR 是否正常工作,您需要使用 server.ts
文件中指定的端口,我认为默认情况下是 4000
http://localhost:4000/test
注意:我不确定为什么,但我发现要使用 Postman 访问客户端应用程序(端口 4200)上的特定路由,您需要在 Postman 中添加 Accept
header .
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
设置 header 后,您应该可以使用 Postman 访问 http://localhost:4200/test,但您将不会再次使用该端口测试 SSR
我创建了一个 SSR Angular 应用程序,我想通过 api 或邮递员联系它。 我需要从 SSR 应用程序生成的 html。
应用程序的路由如下:
const routes: Routes = [
{
path: 'test',
component: TestComponent
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
如果我在 Chrome 中导航到 http://localhost:4200/test
,我将成功路由到 TestComponent
并显示内容
如果我在 Postman 中输入 angular 应用程序 (http://localhost:4200
) 的根目录,我会得到 200 并且 html 显示为响应。
但是 如果我在 postman (http://localhost:4200/test
) 中输入测试路由,我得到一个 404,响应中的内容是:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /test</pre>
</body>
</html>
我在这里错过了什么?我没有配置任何代理,我也没有尝试访问 api 路由。
4200为客户端开发端口
如果您想测试 SSR 是否正常工作,您需要使用 server.ts
文件中指定的端口,我认为默认情况下是 4000
http://localhost:4000/test
注意:我不确定为什么,但我发现要使用 Postman 访问客户端应用程序(端口 4200)上的特定路由,您需要在 Postman 中添加 Accept
header .
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
设置 header 后,您应该可以使用 Postman 访问 http://localhost:4200/test,但您将不会再次使用该端口测试 SSR