将URL参数从Appsettings.json(.core)传递给React

阿克什

我正在尝试访问appsettings.json文件中的url参数。原因是api URL与要发布的Development不同。我不完全确定解决此问题的最佳方法。

我找到了一种可行的解决方案:

如何使用asp.net core从appsettings.json获取配置数据并做出反应

正如我从上述线程了解到的那样,我需要创建一个服务并从React调用它?由于我总是(?)需要对同一项目执行API请求以接收API请求所需的URL,因此这似乎有些奇怪。

另一个建议是使用webpack,或者以某种方式将URL保存在客户端中。但这是否意味着每当我需要更改环境时,都需要在两个位置(后端和前端)进行更改?

这就是我的appsettings.json文件的外观(相同的变量,但.Development和.Publish的值不同)。

{
    "Url": "localhost:44000"
}

在我的Startup类中,我获得了价值:

    var urlValue =
        _configuration.GetSection("Url");

我能否以某种方式一次从后端获取取决于环境的值并使用React接收它?

不知道我在这里想错了吗?

如果有人能指出我正确的方向,将不胜感激。

阿克什

我对此的解决方案是使用.env文档,但仍使用.core launchSettings env。

为了使该解决方案有效,我需要env-cmd:

npm install env-cmd

添加了3个.env文件:

 1. .env
 2. .env.development
 3. .env.prod

每个文件包含一个URL字符串:

REACT_APP_Url = https://localhost:44000

我在.core启动文件中添加了env检查:

    app.UseSpa(spa =>
            {
                spa.Options.SourcePath = "ClientApp";

                if (env.IsDevelopment())
                {
                    spa.UseReactDevelopmentServer(npmScript: "start");
                }
                else if (env.IsProduction())
                {
                    spa.UseReactDevelopmentServer(npmScript: "build");
                }
            });

当我运行生产代码时,我指的是“ build”,因此在我的情况下,对象“ build”将要运行。

package.json文件:

"scripts": {
    "start": "rimraf ./build && react-scripts start",
    "build": "cross-env env-cmd -f .env.prod react-scripts start",
  }

我现在可以使用以下方式访问该网址: {process.env.REACT_APP_Url}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将url参数传递给ListView queryset

来自分类Dev

将参数传递给新URL

来自分类Dev

将json参数传递给scrapy的蜘蛛

来自分类Dev

将参数传递给BLOB对象URL

来自分类Dev

如何将JSON数组作为参数传递给URL

来自分类Dev

将JSON参数传递给Rails API

来自分类Dev

React-将jSON数据传递给子组件的子组件

来自分类Dev

Symfony:将参数传递给Ajax URL

来自分类Dev

Twig将参数作为JSON传递给JS

来自分类Dev

将URL参数传递给React.js根组件

来自分类Dev

将参数传递给React组件

来自分类Dev

将参数传递给Django URL失败

来自分类Dev

如何将JSON作为参数传递给AWS Lambda

来自分类Dev

将参数传递给URL对象

来自分类Dev

将JSON对象传递给React Hook

来自分类Dev

将参数传递给JavaScript中的URL

来自分类Dev

烧瓶-将参数传递给传出的url。

来自分类Dev

将参数传递给laravel的URL :: to()方法

来自分类Dev

将URL参数传递给Python

来自分类Dev

将参数传递给json_callback函数

来自分类Dev

将参数作为JSON对象传递给WebMethod

来自分类Dev

如何使用get JSON将参数传递给php

来自分类Dev

将几个参数传递给react组件

来自分类Dev

Symfony:将参数传递给Ajax URL

来自分类Dev

将json对象作为url参数传递

来自分类Dev

将环境变量从 package.json 传递给 React 应用程序

来自分类Dev

如何将 Ajax Json 对象传递给 .Net Core 中的控制器类?

来自分类Dev

将 JSON 对象传递给 jq 参数

来自分类Dev

有没有办法将 .Net Core 2 appsettings.json 属性传递给主干组件?