宣布 Growthbook 在 JSR 上线
如今的用户比以往任何时候都更精明,他们有更多的网站和应用程序可供选择。对于渴望了解并吸引用户的企业而言,利用产品数据和分析已成为基本要求。但对大多数团队来说,建立和维护数据摄取管道和实验平台是不现实的。
我们很高兴地宣布,GrowthBook 的 JavaScript SDK 现已在 JSR 上可用。
GrowthBook 是一款领先的开源功能开关和实验平台,允许您在 JavaScript 应用程序中评估功能开关并运行实验。他们的 JavaScript SDK 轻量、快速,不需要任何外部依赖,并且可以与您现有的事件跟踪工具(例如 GA、Segment 等)无缝集成。它还可以在任何 JavaScript 环境中使用,例如浏览器和各种 JavaScript 运行时。
JSR 是一个现代的开源 JavaScript 注册表,它简化了 JavaScript 和 TypeScript 模块的发布和导入。JSR 支持发布 TypeScript 源代码、自动生成文档和类型定义文件,提供来源证明以增强安全性,并且可以与类似 npm 的包管理器一起使用。自发布以来,JSR 持续增长,每周有超过 400 个新包发布。
通过 JSR 使用 GrowthBook 的 SDK 提供了无与伦比的开发体验,它提供一流的 TypeScript 支持、在代码编辑器中自动生成文档等功能。
安装 Growthbook
您可以使用 deno add
命令开始使用 Growthbook
deno add jsr:@growthbook/growthbook
或使用 npm
npx jsr add @growthbook/growthbook
上述命令将生成一个 deno.json
文件,列出您的所有项目依赖项。
// deno.json
{
"imports": {
"@growthbook/growthbook": "jsr:@growthbook/growthbook@0.1.2"
}
}
让我们在 Express 服务器中使用 GrowthBook。
在我们的 main.ts
文件中,我们可以这样写
import express from "npm:express";
import { GrowthBook } from "@growthbook/growthbook";
const app = express();
// Example using Express
app.use(function (req, res, next) {
// Create a GrowthBook instance and store in the request
req.growthbook = new GrowthBook({
apiHost: "https://cdn.growthbook.io",
clientKey: "sdk-qtIKLlwNVKxdMIA5",
});
// TODO: Add user targeting attributes from cookies, headers, etc.
req.growthbook.setAttributes({
id: req.user?.id,
});
// Clean up at the end of the request
res.on("close", () => req.growthbook.destroy());
// Wait for features to load (will be cached in-memory for future requests)
req.growthbook.init({ timeout: 1000 }).then(() => next());
});
app.get("/", (req, res) => {
const gb = req.growthbook;
// Boolean on/off flag
if (gb.isOn("my-boolean-feature")) {
res.send("Hello, boolean-feature!");
}
// String/Number/JSON flag
const value = gb.getFeatureValue("my-string-feature", "fallback");
res.send(`Hello, ${value}!`);
});
console.log("Listening on port 8000");
app.listen(8000);
⚠️️ 请注意,您可以通过
npm:
描述符 导入express
。当首次执行此操作时,express
将安装到全局缓存中。无需node_modules
文件夹。
最后,您可以运行以下命令来执行
deno -A main.ts
根据您在 GrowthBook 应用程序中设置功能开关的方式(您可以免费注册),响应会有所不同
查看 GrowthBook 文档,了解更多关于创建和运行实验、分析结果以及功能开关的各种部署流程。
下一步是什么?
随着 GrowthBook 的 JS SDK 现已登陆 JSR,将功能开关和 A/B 测试的强大功能引入任何 JavaScript 环境变得更加容易。
有兴趣现代化您的 JS/TS 模块并让用户更轻松地使用它吗?请查看这些文档或此视频演示,了解如何发布到 JSR。
🚨️ 阅读更多关于 JSR 的信息 🚨️