当前位置: 首页 > 面试题库 >

如何存储配置文件并使用React读取

唐睿
2023-03-14
问题内容

我是React.js的新手,我实现了一个组件,在其中我从服务器获取数据并像这样使用它,

CallEnterprise:function(TenantId){


    fetchData('http://xxx.xxx.xx.xx:8090/Enterprises?TenantId='+TenantId+' &format=json').then(function(enterprises) 
    {
        EnterprisePerspectiveActions.getEnterprise(enterprises);
    }).catch(function()
    {
        alert("There was some issue in API Call please contact Admin");
        //ComponentAppDispatcher.handleViewAction({
        //    actionType: MetaItemConstants.RECEIVE_ERROR,
        //    error: 'There was a problem getting the enterprises'
        //});
    });
},

我想将Url存储在配置文件中,所以当我将其部署在测试服务器或生产环境中时,我只需要更改配置文件中的url(而不是js文件中的URL),但是我不知道如何在react.js中使用配置文件

谁能指导我如何实现这一目标?


问题答案:

使用webpack,您可以将env特定的配置放入以下externals字段中webpack.config.js

externals: {
  'Config': JSON.stringify(process.env.NODE_ENV === 'production' ? {
    serverUrl: "https://myserver.com"
  } : {
    serverUrl: "http://localhost:8090"
  })
}

如果要将配置存储在单独的JSON文件中,也可以这样做,则可以要求该文件并分配给Config

externals: {
  'Config': JSON.stringify(process.env.NODE_ENV === 'production' ? require('./config.prod.json') : require('./config.dev.json'))
}

然后在您的模块中,可以使用config:

var Config = require('Config')
fetchData(Config.serverUrl + '/Enterprises/...')

对于React:

import Config from 'Config';
axios.get(this.app_url, {
        'headers': Config.headers
        }).then(...);

不知道它是否涵盖了您的用例,但对于我们来说它一直工作得很好。



 类似资料:
  • 你还有更多的办法吗?我们可以使用vert.x配置模块吗? 除了json之外,有些类型文件需要用conf编写。例如YAML。 请告诉我如何使用Vert.x配置模块来获取信息,以及如何作为JSONObject使用。 谢了!

  • 问题内容: 我一直在开发一些Node应用程序,并且一直在寻找一种存储与部署相关的设置的良好模式。在Django世界(我来自哪里)中,通常的做法是创建一个包含标准设置(时区等)的文件,然后包含一个用于部署特定设置的文件。与哪个数据库进行通信,什么Memcache套接字,管理员的电子邮件地址等等。 我一直在寻找Node的类似模式。只需一个配置文件就可以了,因此它不必与中的其他所有文件一起使用,但是我发

  • 我正在保存一个excel文件到设备(Android7)的存储,现在我想当用户点击按钮时打开excel文件,但现在当按钮点击应用程序会崩溃,而当im到我的存储和im打开文件直接在我的应用程序之外没有问题!!如果我的代码行错了,请帮忙,谢谢 日志:Android.os.FileUriExposedException:file:///storage/emulated/0/MessangerApp/Mes

  • 如何从包含大量数字的文本文件中读取并将其存储到int数组中,最后将该数组和数组大小传递给应用程序中使用的其他方法。到目前为止,我的代码读取文本文件并将其存储到ArrayList中,而不是数组中。谢谢你。

  • 我是编程界的新手。嗯,我正在尝试使用ApachePOI库读取excel文件(5行5列)。我实际上有两个相同问题的实现。在第一个代码片段中,我只是读取excel文件并将其打印到控制台中。 然而,现在我正试图将读取的excel数据保存到一个数组中。所以我想在动态获取excel行和列大小后设置数组大小。但令我惊讶的是,当我执行第二个代码段时,似乎“while(cellIterator.hasNext()

  • 我正在使用Java的发送SMS。我已经加载了log4j jar文件,并将文件放置在正确的位置,但它仍然无法读取它,并得到以下异常: 例外文本: