在dev

时间:2017-07-09 21:59:10

标签: reactjs asp.net-web-api npm

我正在编写一个React.js前端,它调用ASP.NET Web API后端。出于跨站点脚本的原因,我需要在同一个域上托管前端和后端。

通常情况下这很好,但是当我正在开发react.js网站时,我通过node {npm命令行运行它,该命令行在http://localhost:3000上运行前端。

但我的后端Web API也需要启动,在这种情况下,它在http://localhost:5000的IIS中运行。

所以至少在开发中,我不能将它们作为相同的域运行,因为react.js在命令行运行器中运行,每次更改时都会重新编译应用程序。当然,当我在prod中运行时,我知道我可以将它构建为一个prod-ready格式。但是对于开发而言,我是即时编译功能,可以立即进行更改。

我该如何解决这个问题? (我认为答案不是禁用跨站点脚本或使用CORS)。

1 个答案:

答案 0 :(得分:0)

我发现在WebPack中它能够从javascript代理出站HTTP请求,因此javascript调用相同的域,Webpack只是将请求重定向到您的Web API。

要启用Webpack代理,请对react.js应用程序文件夹的根目录中的 package.json 文件进行此更改。

{
    "name": "my-app",
    "version": "0.1.0",
       ...
    "proxy":  "http://localhost:1000" //Add this line
}