javascript - 当我们使用暂存标志(--staging)执行“npm build”时,如何在应用程序中创建“NON PRODUCTION”横幅?
问题描述
我正在尝试查看当我们使用 staging 标志运行 npm build 时,是否有办法在反应应用程序中指示它通过横幅进行登台。生产版本不能有这个横幅,而只能有分期。
解决方案
您可以使用功能标志来实现这一点。
功能标志允许您将代码推送到您希望的任何环境,但是该功能(横幅)只有在特定环境中启用时才可见。
由于您希望在 staging 上进行测试,您可以在此处启用该标志并在生产代码中禁用它。这样,您的代码将被推送到其他环境,但在生产环境中将不可见。
样本:
.env.development
FEATURE_FLAG_TOP_BANNER=enabled
横幅.tsx
// Some banner component
return (
// Show your banner
)
index.tsx(您希望显示横幅的组件)
if(process.env.FEATURE_FLAG_TOP_BANNER === 'enabled') return <Banner />
生产环境文件
.env.production
FEATURE_FLAG_TOP_BANNER=disabled
现在您的开发环境已启用FEATURE_FLAG_TOP_BANNER,它将始终显示横幅。同样适用于分期。对于生产使用,将其设置为禁用将不会显示横幅!
可选:如果多个 env 文件对您来说是新的并且听起来有点混乱,您可以创建单个.env文件,该文件在本地和暂存时会将功能标志设置为启用,而在生产中将其设置为禁用或根本没有该密钥产品文件。
阅读更多:https ://www.atlassian.com/continuous-delivery/principles/feature-flags
推荐阅读
- android-studio - Gradle 同步失败:无法从所选 JDK 运行 JVM
- python - 为什么我的 Python 函数在调用我的函数后会创建无类型?
- postman - Postman - 生成多种语言的 API 文档
- scala - Spark 2 read.csv - 空值
- scala - 有没有更好的方法来适当地修剪我的 spark DataFrame 的过程?
- javascript - 下拉菜单不与下部元素重叠
- bash - 如果找到匹配,则停止查找命令的递归
- spring-security - 如果 OAuth 2.0 授权服务器和资源服务器位于不同的应用程序中,它们如何共享令牌?
- excel - excel中的现金流量预测
- reactjs - ReactJS: TypeError: this.ref.current.method is not an function with ant design form