保存时重新加载html页面时,节点控制台中的Nestjs/Angular Universal输出错误

保存时重新加载html页面时,节点控制台中的Nestjs/Angular Universal输出错误,nestjs,angular-universal,angular-fullstack,Nestjs,Angular Universal,Angular Fullstack,错误[NetworkError]是什么意思 我使用ng universal拥有一个Nestjs后端和一个角度前端。我正在运行带有“npm run dev:ssr”的fullstack应用程序。每当我在浏览器中刷新前端页面时,服务器终端都会以红色显示“ERROR[NetworkError]”的新行输出。当我发出任何网络请求时,当我向为应用程序提供服务的本地主机端口发出请求时,它不会出错。如果api请求是在重新加载时向服务器OnInit发出的,请在使用ng universal示例时首先检查isPla

错误[NetworkError]是什么意思


我使用ng universal拥有一个Nestjs后端和一个角度前端。我正在运行带有“npm run dev:ssr”的fullstack应用程序。每当我在浏览器中刷新前端页面时,服务器终端都会以红色显示“ERROR[NetworkError]”的新行输出。当我发出任何网络请求时,当我向为应用程序提供服务的本地主机端口发出请求时,它不会出错。

如果api请求是在重新加载时向服务器
OnInit
发出的,请在使用
ng universal
示例时首先检查
isPlatformBrowser

从'@angular/core'导入{Component,OnInit,PLATFORM_ID,Inject};
从“@angular/common”导入{isPlatformBrowser};
从'@angular/common/http'导入{HttpClient,HttpHeaders};
公共测试浏览器:布尔;
导出类HomeComponent实现OnInit{
公共测试浏览器:布尔;
公共数据:任何;
构造函数(私有http:HttpClient,@Inject(平台ID)platformId:string){
this.testBrowser=isPlatformBrowser(platformId);
}
恩戈尼尼特(){
if(此.testBrowser){
//避免服务器网络错误
this.data=this.http.get('/api');
}
}
}
在检查
isPlatformBrowser===true
first
OnInit
之前,我尝试从客户端进行服务器调用时遇到了相同的错误,这解决了我的问题。希望这能帮助这个bug


作为参考,这个答案帮助我解决了这个长期存在的问题

如果在重新加载时向服务器
OnInit
发出api请求,请在使用
ng universal
示例时首先检查
isPlatformBrowser

从'@angular/core'导入{Component,OnInit,PLATFORM_ID,Inject};
从“@angular/common”导入{isPlatformBrowser};
从'@angular/common/http'导入{HttpClient,HttpHeaders};
公共测试浏览器:布尔;
导出类HomeComponent实现OnInit{
公共测试浏览器:布尔;
公共数据:任何;
构造函数(私有http:HttpClient,@Inject(平台ID)platformId:string){
this.testBrowser=isPlatformBrowser(platformId);
}
恩戈尼尼特(){
if(此.testBrowser){
//避免服务器网络错误
this.data=this.http.get('/api');
}
}
}
在检查
isPlatformBrowser===true
first
OnInit
之前,我尝试从客户端进行服务器调用时遇到了相同的错误,这解决了我的问题。希望这能帮助这个bug


作为参考,这个答案帮助我解决了这个长期存在的问题

你们中的一些API调用可能会失败?这些调用是否使用绝对url?不,这不是因为任何API调用,除了一个提供应用程序的静态API。当我从Postman调用任何测试API或从前端应用程序调用时,不会出现新的“ERROR[NetworkError]”错误,但当我刷新页面时,会出现新的错误。没有进行绝对URL调用。它们都是相对于发出调用和服务应用程序的位置进行的,即localhost:4200。通常,使用angular universal时,所有API调用都应该是绝对的。默认情况下,4200不是ssr的端口(我认为是4000)。它是Angular应用程序的端口,甚至当您添加带有Angular universal的Nestjs时也是如此。您中的一些API调用可能会失败?这些调用是否使用绝对url?不,这不是因为任何API调用,除了一个提供应用程序的静态API。当我从Postman调用任何测试API或从前端应用程序调用时,不会出现新的“ERROR[NetworkError]”错误,但当我刷新页面时,会出现新的错误。没有进行绝对URL调用。它们都是相对于发出调用和服务应用程序的位置进行的,即localhost:4200。通常,使用angular universal时,所有API调用都应该是绝对的。默认情况下,4200不是ssr的端口(我认为是4000)。它是Angular应用程序的端口,甚至当你添加带有Angular universal的Nestjs时也是如此。我这么做了,然后它开始给我不同的错误。谢谢@Ian Poston Framer。但我只是用不同的代码重拨了应用程序,新代码运行良好。我认为这与NestJS代码有关,但我不知道。我这么做了,然后它开始给我不同的错误。谢谢@Ian Poston Framer。但我只是用不同的代码重拨了应用程序,新代码运行良好。我认为这与NestJS代码有关,但我不知道。