在Angular中,我了解到我们可以代理API请求,也可以不使用任何代理配置而直接使用URL。我学到的两种方法是:
使用代理:
proxy.config.json
{
"/api": {
"target": "http://localhost:3000",
"secure": false
}
}
package.json:
编辑package.jsson的“开始”
"start": "ng serve --proxy-config proxy.conf.json",
无代理:
考虑任何服务文件以进行REST API调用:
user.service.ts
@Injectable()
export class UserService {
public API = 'http://localhost:8080';
constructor(private http: HttpClient) {
}
getAllUsers(): Observable<any> {
return this.http.get(this.API + '/users');
}
}
那么,以下哪种方法是正确的处理方法? 我们如何在生产类型的环境中使用它? 如果还有其他替代方法,请告诉我。
答案 0 :(得分:1)
该代理仅在ng serve
打开的开发模式下有效。对于生产模式,您需要对Nginx,Apache或任何其他为Angular项目提供服务的Web服务器应用程序执行相同的工作。
如果直接请求XHR呼叫,则应处理CORS问题。所以我推荐前一个。