如何从 reactjs.net 访问 web.config 设置?
How can I access web.config settings from reactjs.net?
我正在尝试从某些 reactjs.net 组件访问某些 Web 配置设置。我在加载应用程序时需要这些,但是 reactjs.net 上的文档还有很多不足之处。有谁知道这是如何实现的?是的,我可以让它通过 xmlhttprequest 回调到服务器,但我宁愿能够通过应用程序传递它们。有没有办法让它们出现在视图中并将它们作为参数传递?
提前致谢!
您似乎回答了自己的问题。
没有什么能阻止您在应用程序加载时触发请求、检索设置、将它们存储在客户端并让您的组件简单地使用它们。
这没有任何问题,而且一切都简单明了。
我跳过了这些障碍,成功了;对于此示例,我将获取 web.config "environment" 应用键值:
- 在您的 React View 的 .cshtml 文件中,将其放入
<head>
:
<script>
var REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = '@System.Web.Configuration.WebConfigurationManager.AppSettings["environment"]';
if (REACT_APP_RUNTIME_ENVIRONMENT.indexOf('Configuration') != -1){
REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = 'dev'; // Backup value in case the above fails
}
</script>
在上面的示例中,我添加了一个条件作为回退,因此您可以使用平面 index.html 页面而不是 ASP.NET MVC 项目并修改那里的运行时环境变量。
- 在您的 React 项目中,您现在可以访问
window.REACT_APP_RUNTIME_ENVIRONMENT
并且它将从 web.config: 中提取值 "environment"
<appSettings>
<add key="environment" value="test" />
</appSettings>
重要的是要注意,我只在 ASP.NET MVC 项目中对此进行了测试。
我正在尝试从某些 reactjs.net 组件访问某些 Web 配置设置。我在加载应用程序时需要这些,但是 reactjs.net 上的文档还有很多不足之处。有谁知道这是如何实现的?是的,我可以让它通过 xmlhttprequest 回调到服务器,但我宁愿能够通过应用程序传递它们。有没有办法让它们出现在视图中并将它们作为参数传递?
提前致谢!
您似乎回答了自己的问题。
没有什么能阻止您在应用程序加载时触发请求、检索设置、将它们存储在客户端并让您的组件简单地使用它们。
这没有任何问题,而且一切都简单明了。
我跳过了这些障碍,成功了;对于此示例,我将获取 web.config "environment" 应用键值:
- 在您的 React View 的 .cshtml 文件中,将其放入
<head>
:
<script>
var REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = '@System.Web.Configuration.WebConfigurationManager.AppSettings["environment"]';
if (REACT_APP_RUNTIME_ENVIRONMENT.indexOf('Configuration') != -1){
REACT_APP_RUNTIME_ENVIRONMENT = window.REACT_APP_RUNTIME_ENVIRONMENT = 'dev'; // Backup value in case the above fails
}
</script>
在上面的示例中,我添加了一个条件作为回退,因此您可以使用平面 index.html 页面而不是 ASP.NET MVC 项目并修改那里的运行时环境变量。
- 在您的 React 项目中,您现在可以访问
window.REACT_APP_RUNTIME_ENVIRONMENT
并且它将从 web.config: 中提取值 "environment"
<appSettings>
<add key="environment" value="test" />
</appSettings>
重要的是要注意,我只在 ASP.NET MVC 项目中对此进行了测试。