首页 > 解决方案 > 使用 React 在 ASP.NET Core 3 中更改用于获取数据的基本 URL

问题描述

我正在使用带有 React 模板的 ASP.NET Core 3.1,到目前为止一切正常。

但是为了在本地测试我的前端更改而不总是推送到服务器(数据存储在该服务器上),我试图弄清楚是否以及如何更改我的获取请求的基本 URL。例如,我的登录获取请求如下所示:

fetch('api/authentication/login', requestOptions).then(..)

然后默认为

localhost:5000/api/authentication/login

有没有办法可以用我的服务器 URL 替换基本 URL 来处理服务器上的数据?我已经尝试过改变

ReactDOM.render(
    <BrowserRouter basename={baseUrl}>
        <App />
    </BrowserRouter>,
    rootElement
);

ReactDOM.render(
    <BrowserRouter basename={"http://my-server-url.com"}>
        <App />
    </BrowserRouter>,
    rootElement
);

不幸的是,这没有改变,但我找不到不同的尝试。

有没有办法让它运行?

标签: reactjsasp.net-core.net-coreasp.net-core-webapiasp.net-core-3.1

解决方案


为此,您应该使用 react 开发服务器的代理功能。

您可以将以下代理定义添加到您的package.json文件中:

"proxy": "http://my-server-url.com",

然后(从 ClientApp 文件夹中)使用

> npm start

有关代理功能的更多文档,请参阅开发中的代理 API 请求


推荐阅读