sna*_*nap 5 .net javascript reactjs asp.net-core featuretoggle
使用 .NET Core,在 Startup.cs 中,您可以访问 IHostingEnvironment,您可以从中获取 EnvironmentName,它对应于在服务器上设置的 ASPNETCORE_ENVIRONMENT 环境变量的值。这对于打开/关闭各种功能以及使用特定于环境的配置非常有用。但是对于一个全是 React.JS 的前端,有没有办法向下传递这个值,以便前端也知道它的环境?我可以想到一些可能的方法来完成,但它们看起来有点笨拙。这方面的最佳做法是什么?
当您渲染将托管 React 应用程序的页面时,将环境变量添加为隐藏字段,例如
@page
@inject Microsoft.AspNetCore.Hosting.IHostingEnvironment hostingEnv
<input id="hostingEnv"
type="hidden"
value=@hostingEnv.EnvironmentName />
<div id="appRoot"></div>
Run Code Online (Sandbox Code Playgroud)
有关 IHostingEnvironment 的更多信息可以在此处找到。
然后,您可以使用以下代码访问 React 应用程序中该隐藏变量的值:
const hostingEnv = document.getElementById('hostingEnv').value
Run Code Online (Sandbox Code Playgroud)
至于这是否是“最佳实践”,没有最佳实践,只有良好实践!然而,这种方法对我来说很有效,尽管正如评论者所建议的那样,当然还有其他方法可以做到这一点(例如通过单独的网络请求)。
| 归档时间: |
|
| 查看次数: |
2107 次 |
| 最近记录: |