我正在尝试在我的 Angular 4 应用程序上运行 e2e 测试,该应用程序访问了我的 ExpressJS 后端 API。默认情况下,在端口 4200 上运行ng serve
我的应用程序。然后单独运行nodemon server.js
在端口 3000 上启动我的 ExpressJS 服务器。我可以使用。有了app.use(cors({ origin: 'http://localhost:4200', credentials: true }));
我可以从我的 Angular 应用程序中访问我的 API 就好了。但是,当我尝试运行ng e2e
应用程序时,它不再在端口 4200 上运行,而是在 49155 端口上运行。因此,我的 API 不仅会阻止跨源请求,而且测试会到达终点http://localhost:49155/api/endpoint
,而不是被代理到http://localhost/3000/api/endpoint
.
我知道我可以运行一个ng serve --proxy-config proxy.conf.json
看起来像
{
"/api": {
"target": "http://localhost:3000",
"secure": false
}
}
但是有什么办法可以通过我的ng e2e
测试来做到这一点?有没有办法允许多个 cors 使用cors()
?