Node.js 如何将api请求重定向到WAMP上的express端口

Node.js 如何将api请求重定向到WAMP上的express端口,node.js,reactjs,express,wamp,Node.js,Reactjs,Express,Wamp,我有一个React应用程序向运行在端口9000上的express api服务器发出请求。 在dev中,我在我的package.json中使用了一个代理设置,该设置按预期工作: "proxy": "http://localhost:9000/" 我现在已经构建并部署了api和客户端,并将它们部署到WAMP上的www文件夹中。api运行良好,因为我可以使用Postman与之交互。客户端也已启动并正在运行,但它现在试图在错误的端口上调用api: http://localhost/api/... 如

我有一个React应用程序向运行在端口9000上的express api服务器发出请求。 在dev中,我在我的package.json中使用了一个代理设置,该设置按预期工作:

"proxy": "http://localhost:9000/"
我现在已经构建并部署了api和客户端,并将它们部署到WAMP上的www文件夹中。api运行良好,因为我可以使用Postman与之交互。客户端也已启动并正在运行,但它现在试图在错误的端口上调用api:

http://localhost/api/...
如何将api请求重定向到WAMP上的端口9000

http://localhost:9000/api/...

代理功能不适用于生产。它只用于发展。开发中的代理只是一个生产力特性。如果您在生产中从API服务器提供单页应用程序,但希望在使用应用程序时使用
create-react-app
提供的开发服务器,则此功能非常有用。然而,代理只是一种开发特性。这不是为了生产


你可以阅读更多关于它的内容。如果您真的想指向一个端口,将其添加到您的节点应用程序的App.js>代码中,并考虑在该端口上启动服务器。

< P>最后,我决定删除代理设置,并用正确的API域对请求进行前缀。这样,它在dev和prod上都能正常工作:

private domain = "http://localhost:9000";

get(url: string, params?: any): Promise<any> {
  return new Promise(async (resolve, reject) => {
    try {
      const result = await trackPromise(
        axios.get(this.domain + url, { params: params })
      );
      return resolve(result.data);
    } catch (error) {
      return reject(error.response.data.message);
    }
  });
}
私有域=”http://localhost:9000";
获取(url:string,params?:any):承诺{
返回新承诺(异步(解析、拒绝)=>{
试一试{
const result=等待跟踪承诺(
get(this.domain+url,{params:params})
);
返回解析(result.data);
}捕获(错误){
返回拒绝(error.response.data.message);
}
});
}