如何在Angular CLI中configuration代理
我创build了一个新的@ angular / cli项目,并在根组件中添加了一个http GET调用。 没有使用代理这工作正常。
export class AppComponent implements OnInit { constructor(private http: Http) {} ngOnInit() { this.http .get('https://dog.ceo/api/breeds/list/all') .map(response => response.json()) .subscribe(data => console.log(data)); } }
当我尝试添加在Angular CLI wiki中描述的configuration时,事情就会出错。
我的proxy.conf.json文件:
{ "/api": { "target": "https://dog.ceo", "secure": false } }
我将组件中的URL更改为/api/breeds/list/all
。 而我运行ng serve --proxy-config proxy.conf.json
然后,我在浏览器控制台中发出内部服务器错误消息。 而在我开始服务的terminal,我得到这个消息[HPM] Error occurred while trying to proxy request /api/breeds/list/all from localhost:4200 to https://dog.ceo (EPROTO) (https://nodejs.org/api/errors.html#errors_common_system_errors)
我已经尝试了其他几个configuration选项和多个API。 结果是相似的。
完整的代码在GitHub上可用: https : //github.com/ErikNijland/angular-cli-proxy-test
使用的版本:
- @ angular / cli:1.3.0
- NodeJS:v8.1.4
注意:我知道@ angular / cli正在使用Webpack。 而后者又使用http-proxy-middleware。
我认为这是因为您问的httpsformshttp的起源。 这可以使用代理中的标志来解决。
{ "/api": { "target": "https://dog.ceo", "secure": false, "changeOrigin": true } }
- 使用基本身份validation标头向外部API表示API代理请求
- Node.jsstream是否计入您的虚拟主机stream量带宽分配?
- NPM安装在Docker容器内失败,但是在具有公司代理的主机上运行
- Bower错误隧道套接字无法build立,原因=parsing错误
- Express JS通配符路由代理
- node.js是图像代理和操作任务的理想select吗?
- 如何使用Grunt或Node服务器基于User-Agent(移动和桌面)redirect请求/代理?
- http-proxy-middleware – 访问静态文件
- 在一个端口上使用单个应用程序的节点应用程序使用代理服务器(如node-http-proxy)有什么意义?