在Angular 8中设置代理进行HTTP API调用的解决方法如下:
proxy.conf.json
的文件,内容如下:{
"/api": {
"target": "http://api.example.com",
"secure": false,
"changeOrigin": true
}
}
这个配置文件指定了一个代理路径/api
,将请求转发到http://api.example.com
。
package.json
文件中的scripts
部分添加一个start
命令,如下:"scripts": {
"start": "ng serve --proxy-config proxy.conf.json",
...
}
这个命令将启动开发服务器,并使用我们刚刚创建的代理配置文件。
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) { }
getData() {
return this.http.get('/api/data');
}
这个例子中,我们使用/api/data
路径来发起HTTP GET请求,实际上会被代理到http://api.example.com/data
。
npm start
命令启动开发服务器,然后访问你的应用程序。这样,所有以/api
开头的HTTP请求都会被转发到指定的目标服务器。
请注意,这个设置只在开发模式下有效,发布时不会生效。如果你希望在生产环境中使用代理,需要在服务器上进行相应的配置。