@laghoist/ 提供者- 网络
一个浏览器应用程序的OpenFeature供应商,指向一个Flaghoist服务器.
它是OFREP官方的网络提供者, 已经完成的线程: 您的服务器 URL, 读取
API 密钥作为附件 x-api-key 每个请求都标有标题.
npm install @flaghoist/provider-web @openfeature/web-sdk
import { OpenFeature } from '@openfeature/web-sdk'
import { FlaghoistWebProvider } from '@flaghoist/provider-web'
await OpenFeature.setProviderAndWait(
new FlaghoistWebProvider({
url: 'https://team-flags.example.workers.dev',
apiKey: import.meta.env.VITE_FLAGS_KEY,
}),
)
const client = OpenFeature.getClient()
client.getBooleanValue('new-checkout', false)
用Vue吗? @flaghoist/vue 用一个 useFeatureFlag() 可调和.
选项
官方的每一个选择 OFREP 网络提供者 路过 不变,但默认值相同。 二是值得考虑的.
相续相续. 提供者在启动时、 当
当标签再次可见时,评价上下文会发生变化。 它不投票 默认,所以
在某一页上停留的用户不会看到切换,直到其中之一发生。 设定 pollInterval
用于实时更新 :
new FlaghoistWebProvider({
url: 'https://team-flags.example.workers.dev',
apiKey: import.meta.env.VITE_FLAGS_KEY,
pollInterval: 30_000, // re-fetch every 30 seconds. Default 0 (off)
})
服务器缓存旗下定义 cacheTtlSeconds (默认30起),所以投票速度要快得多
而不是大部分得到相同的答案. changeDetection: 'none' 转换所有背景刷新
关上,还有 disableVisibilityRefresh: true 停止标签焦点上的刷新.
看起来像一个停电. 默认( E)cacheMode: 'local-cache-first'提供者保存
它看到的最后一面旗帜 localStorage 最长30天(cacheTTL,以秒计). 从他们开始
立即,如果服务器无法到达,用户会保留最后已知的值. 这与
@flaghoist/provider-node,在服务器下架时返回代码中的默认值。 选择
合适吗
cacheMode | 启动时 | 服务器无法访问 |
|---|---|---|
'local-cache-first' (默认) | 已保存旗帜, 刷新后端 | 最后已知的数值 |
'network-first' | 等待服务器 | 最后已知的数值 |
'disabled' | 等待服务器 | 您的代码默认 |
一个被拒绝的密钥(401,403)或糟糕的请求(400)从不隐藏在被保存的旗帜后,任何模式下.
timeoutMs, (中文(简体) ), headersFactory, (中文(简体) ), query, (中文(简体) ), fetchImplementation, (中文(简体) ), cacheKeyGenerator 和SSE系统
设置也被接受;请参见上游 README .
因为这是一个标准 OFREP 提供者, 这里没有什么是 Flaghoist 具体在线。 狦 后移到 OFREP 后端, 您的应用代码不会更改 .
只使用读取的 API 密钥 。 任何你放在这里的东西 任何打开地凳的人都能看到.
状态
贝塔 核心是特色完成的,并准备进行真正的项目。 API 仍然可以更改之前 1.0,每个破碎的更改 都在更改日志中发出来, 所以将您的版本 并阅读 升级时的音符。 如果有事情中断,问题确实有用.
阿帕奇2.0. 部分内容 旗舰。 。 。 .