参考手册Workspace 包参考

Feature Flags

轻量功能开关包,用于灰度、实验和简单运行时开关。

@01mvp/feature-flags

@01mvp/feature-flags 提供轻量的功能开关能力。它适合在产品早期控制某个功能是否开放,而不需要马上接入完整的第三方 feature flag 平台。

能做什么

  • 静态开关:直接写 true / false
  • 环境变量开关:用 envFlag("FEATURE_NAME")
  • 动态判断:根据用户、组织或请求上下文返回开关状态
  • 批量判断:一次拿到所有 flag 的结果

基本用法

import { createFlags, envFlag } from "@01mvp/feature-flags";

const flags = createFlags({
	maintenance: envFlag("MAINTENANCE_MODE"),
	newDashboard: {
		defaultValue: false,
		resolve: ({ userId }) => userId === "demo-user",
	},
});

const enabled = await flags.isEnabled("newDashboard", {
	userId: "demo-user",
});

适合场景

这个包适合简单的产品开关、灰度入口、内部测试功能。等功能开关变成高频运营能力,再考虑接入更完整的托管服务。