Web包开发服务器和express在同一端口上?

Web包开发服务器和express在同一端口上?,express,cross-domain,webpack-dev-server,Express,Cross Domain,Webpack Dev Server,我在开发环境中遇到了跨域问题,Web包开发服务器在端口8080上运行,而express后端在端口5000上运行 通过AJAX调用后端api方法会引发CORS错误 单击指向后端api的链接不会传递会话数据 这些问题是可以解决的,但我想知道,如果它们不在生产环境中发生(客户端和后端都将使用相同的端口),为什么还要麻烦呢 是否可以解决此问题(例如,通过在同一端口上运行dev server和express或任何其他方式?这就是我的工作原理: 我觉得大多数人都没有弹出他们的网页配置。。。如果您不知道这意

我在开发环境中遇到了跨域问题,Web包开发服务器在端口8080上运行,而express后端在端口5000上运行

  • 通过AJAX调用后端api方法会引发CORS错误
  • 单击指向后端api的链接不会传递会话数据
  • 这些问题是可以解决的,但我想知道,如果它们不在生产环境中发生(客户端和后端都将使用相同的端口),为什么还要麻烦呢


    是否可以解决此问题(例如,通过在同一端口上运行dev server和express或任何其他方式?

    这就是我的工作原理:

    我觉得大多数人都没有弹出他们的网页配置。。。如果您不知道这意味着什么,那么您可能还没有弹出您的网页配置,所以请在“未弹出”选项下查找

    我会注意到,如果您使用的是
    ng serve
    而不是
    npm start
    ,则需要切换到
    npm start
    ,或者键入完整的命令
    ng serve--proxy config proxy.conf.json
    ,才能工作

    另外在proxy.conf.json中:

    {
         "/api": { 
           "target": "http://localhost:3001",
           "secure": false
         },
         "/oauth": {
           "target": "http://localhost:3001",
           "secure": false
         },
         "/foo": {
           "target": "http://localhost:3002",
           "secure": false
         }
    }
    
    • 示例仅显示“/api”
    • 但是,如果您有任何其他端点不是以/api开头的,那么您也需要添加它们。以防您没有意识到“/api”是一个路径识别字符串,而不仅仅是一个“设置”
    示例proxy.conf.json:

    {
         "/api": { 
           "target": "http://localhost:3001",
           "secure": false
         },
         "/oauth": {
           "target": "http://localhost:3001",
           "secure": false
         },
         "/foo": {
           "target": "http://localhost:3002",
           "secure": false
         }
    }