首页 > 解决方案 > 当我们使用暂存标志(--staging)执行“npm build”时,如何在应用程序中创建“NON PRODUCTION”横幅?

问题描述

我正在尝试查看当我们使用 staging 标志运行 npm build 时,是否有办法在反应应用程序中指示它通过横幅进行登台。生产版本不能有这个横幅,而只能有分期。

标签: javascriptreactjs

解决方案


您可以使用功能标志来实现这一点。

功能标志允许您将代码推送到您希望的任何环境,但是该功能(横幅)只有在特定环境中启用时才可见。

由于您希望在 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


推荐阅读