1

我正在尝试在我的 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()

4

0 回答 0