在Angular 10中,可以通过在应用程序的CORS配置中添加必要的头信息来允许对本地微软的REST调用。
首先,打开应用程序的src文件夹中的main.ts
文件,并确保在引导应用程序之前添加以下代码:
import { enableProdMode } from '@angular/core';
// 添加以下代码
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
接下来,打开应用程序的environments
文件夹中的environment.ts
文件,并确保将environment
对象中的production
属性设置为false
:
export const environment = {
production: false,
// ...
};
然后,打开应用程序的angular.json
文件,并找到projects > your-app-name > architect > build > options
部分。确保在options
中添加以下内容:
"options": {
// ...
"proxyConfig": "src/proxy.conf.json"
}
创建一个新的proxy.conf.json
文件,并将其放在应用程序的根目录下。在该文件中,添加以下内容:
{
"/api": {
"target": "https://api.example.com", // 替换为你的微软 REST API 的 URL
"secure": false,
"changeOrigin": true,
"logLevel": "debug"
}
}
确保将target
属性的值替换为你的微软REST API的URL。
最后,在终端中运行以下命令以启动开发服务器:
ng serve
现在,你的Angular应用程序将使用代理配置来处理本地微软的REST调用。在代码中,你可以使用相对路径/api
来代替微软的REST API的URL。例如:
import { HttpClient } from '@angular/common/http';
constructor(private http: HttpClient) { }
getMicrosoftData() {
return this.http.get('/api/microsoft-data');
}
这将使应用程序的HTTP请求被代理到微软的REST API,并且不会受到CORS的限制。